TypeError: method() takes 1 positional argument but 2 were given
Diese Fehlermeldung gibt an, dass eine Methode oder eine Funktion mit dem Namen "method" erwartet, dass ein Argument übergeben wird, aber es wurde mit zwei Argumenten aufgerufen. Ein Beispiel dafür, wie dieser Fehler auftreten kann, ist:
class MyClass:
def method(self, arg1):
print(arg1)
obj = MyClass()
obj.method("hello", "world") # gibt TypeError aus
In diesem Beispiel ist die Methode so definiert, dass sie ein Argument arg1
entgegennimmt, aber wir rufen die Methode mit zwei Argumenten "hello" und "world" auf. Das führt zu einem TypeError.
Es kann behoben werden, indem nur ein Argument an die Methode übergeben wird:
obj.method("hello") # gibt "hello" aus
Oder indem die Methode so geändert wird, dass sie zwei Argumente akzeptiert:
class MyClass:
def method(self, arg1, arg2):
print(arg1, arg2)
obj = MyClass()
obj.method("hello", "world") # gibt "hello world" aus