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
Freigeben: 2024-12-17 17:00:13
Original
338 Leute haben es durchsucht

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'
Nach dem Login kopieren

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)
Nach dem Login kopieren

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()
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage