Fehler: Fehlendes Selbst im Methodenaufruf
Beim Versuch, auf eine Klassenmethode zuzugreifen, kann es sein, dass Entwickler auf den Fehler „TypeError: Fehlt 1 erforderlich“ stoßen Positionsargument: Selbst.“ Diese Ausnahme weist darauf hin, dass dem Methodenaufruf der Parameter self fehlt, der eine wesentliche Komponente in der objektorientierten Programmierung von Python ist.
Selbst verstehen
In Python das Selbst Der Parameter bezieht sich auf die Instanz der Klasse, die die Methode aufruft. Es stellt einen Verweis auf die Attribute und Methoden des spezifischen Objekts bereit und ermöglicht es der Methode, objektspezifische Daten zu bearbeiten und darauf zuzugreifen.
Die Rolle von __init__
Die __init__-Methode, Üblicherweise als Konstruktor bezeichnet, wird er automatisch aufgerufen, wenn ein Objekt einer Klasse erstellt wird. Sein Hauptzweck besteht darin, die Attribute des Objekts zu initialisieren und einzurichten und so seine ordnungsgemäße Initialisierung sicherzustellen. Im bereitgestellten Codeausschnitt heißt es jedoch:
p = Pump.getPumps()
The Missing self
Anstatt eine Instanz von Pump zu erstellen und getPumps für diese Instanz aufzurufen, ruft der Code direkt auf Pump.getPumps(), wodurch die __init__-Methode umgangen wird und folglich das wesentliche Selbst fehlt Parameter.
Erstellen der Instanz
Um eine Klassenmethode korrekt zu nutzen, muss man zunächst eine Instanz der Klasse erstellen. Dazu gehört die Verwendung des Klassennamens gefolgt von Klammern, wie unten gezeigt:
p = Pump() p.getPumps()
Durch das Erstellen einer Instanz und den Aufruf von getPumps für diese Instanz hat die Methode nun Zugriff auf den Parameter self und kann korrekt auf die Daten des Objekts zugreifen und Methoden.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich „TypeError: Missing 1 erforderliches Positionsargument: self', wenn ich eine Klassenmethode in Python aufrufe?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!