Heim >Backend-Entwicklung >Python-Tutorial >Warum erhalte ich in Python den Fehler „TypeError: Missing 1 Required Positional Argument: ‚self''?

Warum erhalte ich in Python den Fehler „TypeError: Missing 1 Required Positional Argument: ‚self''?

DDD
DDDOriginal
2024-12-17 17:00:13348Durchsuche

Why Am I Getting the

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn