TypeError: 1 erforderliches Positionsargument fehlt: 'self'
Diese Fehlermeldung gibt an, dass eine Klassenmethode ohne Angabe des "self" Parameters aufgerufen wird, der der erste Parameter aller Klassenmethoden ist und auf die Instanz der Klasse verweist.
Hier ist ein Beispiel für eine Klasse, die diesen Fehler verursachen würde:
class MyClass:
def my_method(self):
print("Hello, World!")
my_instance = MyClass()
my_instance.my_method() # Das funktioniert
MyClass.my_method() # Das wird den Fehler "TypeError: Missing 1 required positional argument: 'self'" produzieren
In obigem Beispiel funktioniert das Aufrufen von my_instance.my_method()
wie erwartet, da der self
-Parameter von Python automatisch übergeben wird, wenn eine Methode auf eine Instanz der Klasse aufgerufen wird. Wenn man jedoch MyClass.my_method()
direkt aufruft, wird der Fehler "TypeError: Missing 1 required positional argument: 'self'" produziert, da der self
-Parameter nicht übergeben wird. Um das zu beheben, müsste man eine Instanz der Klasse erstellen und die Methode auf dieser Instanz aufrufen, wie im ersten Beispiel.