Heim >Backend-Entwicklung >Python-Tutorial >Warum erhalte ich in Python die Meldung „NameError: Name ist nicht definiert'?
In Python tritt der Fehler „NameError: Name ist nicht definiert“ auf, wenn Sie versuchen, auf eine Variable zuzugreifen oder Klasse, die zuvor nicht im Code deklariert oder definiert wurde. Um dieses Problem zu beheben, sind die richtige Festlegung des Gültigkeitsbereichs und die Deklaration von Variablen und Klassen unerlässlich.
Sehen wir uns das von Ihnen bereitgestellte Code-Snippet an:
<code class="python">s = Something() s.out() class Something: def out(): print("it works")</code>
Der Fehler wird durch die Tatsache verursacht, dass die Klasse „Something“ vorhanden ist wird definiert, nachdem es zum Erstellen einer Instanz von sich selbst verwendet wird. In Python interpretiert der Interpreter Code Zeile für Zeile, sodass die Something-Klasse zum Zeitpunkt der Ausführung der Zeile „s = Something()“ noch nicht bekannt ist.
Um dieses Problem zu beheben, müssen Sie Definieren Sie die Klasse, bevor Sie sie verwenden. Hier ist der korrigierte Code:
<code class="python">class Something: def out(self): print("it works") s = Something() s.out()</code>
Beachten Sie, dass wir auch self als erstes Argument zur out-Methode hinzugefügt haben. Dies ist beispielsweise für Instanzmethoden in Python erforderlich, die auf einer bestimmten Objektinstanz operieren. Durch die Übergabe von self als erstes Argument kann die Methode auf Instanzattribute zugreifen und den Status des Objekts ändern.
Mit diesen Korrekturen wird der Code ohne den NameError ausgeführt und gibt wie erwartet „es funktioniert“ aus.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Python die Meldung „NameError: Name ist nicht definiert'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!