Den Fehler „TypeError: Missing 1 Required Positional Argument: 'self'“ verstehen
Bei der Arbeit mit Klassen und Objekten in Python können Sie Möglicherweise wird eine Fehlermeldung angezeigt, die wie folgt lautet:
TypeError: Missing 1 required positional argument: 'self'
Dieser Fehler tritt auf, wenn Sie eine Klassenmethode aufrufen, ohne die anzugeben Selbstparameter. Alle Klassenmethoden erfordern den Parameter „self“ als erstes Argument.
Wie Python Klassen initialisiert
Um diesen Fehler zu verstehen, ist es wichtig, das zu wissen, wenn Sie eine Instanz von erstellen eine Klasse, wird die Konstruktormethode (__init__) automatisch aufgerufen. Diese Methode kümmert sich um die Initialisierung der Objektattribute.
Klassenmethoden aufrufen
Sobald ein Objekt erstellt wurde, können Sie seine Methoden aufrufen. Diese Methoden haben Zugriff auf die Attribute und Funktionen des Objekts. Denken Sie jedoch daran, dass alle Klassenmethoden den Parameter self erfordern, der sich auf die Instanz der Klasse bezieht, für die die Methode aufgerufen wird.
Fehlerbehebung
In Ihr Codebeispiel:
class Pump: def __init__(self): print("init") def getPumps(self): pass p = Pump.getPumps() # Error here print(p)
Der Fehler tritt auf, weil Sie getPumps() aufrufen, ohne das Argument self anzugeben. Um das Problem zu beheben, müssen Sie zunächst eine Instanz der Pump-Klasse erstellen und dann die Methode getPumps() für diese Instanz aufrufen:
p = Pump() p.getPumps()
Jetzt wird der __init__-Konstruktor aufgerufen, wenn Sie die Instanz erstellen. und die getPumps()-Methode hat Zugriff auf den self-Parameter, sodass sie auf der spezifischen Instanz der Klasse arbeiten kann.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in Python den Fehler „TypeError: Missing 1 Required Positional Argument: ‚self''?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!