Verwenden Sie super mit einer Klassenmethode
Ich versuche, die super () - Funktion in Python zu lernen.
Ich dachte, ich hätte es verstanden, bis ich auf dieses Beispiel (2.6) stieß und feststeckte.
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "test.py", line 9, in do_something
do_something = classmethod(do_something)
TypeError: unbound method do_something() must be called with B instance as first argument (got nothing instead)
>>>
Es war nicht das, was ich erwartet hatte, als ich diese Zeile direkt vor dem Beispiel las:
Wenn wir eine Klassenmethode verwenden, haben wir keine Instanz, mit der wir super aufrufen können. Zum Glück funktioniert super auch mit einem Typ als zweitem Argument. --- Der Typ kann wie unten gezeigt direkt an super übergeben werden.Genau das, was mir Python sagt, ist nicht möglich, wenn man sagt, dass do_something () mit einer Instanz von B aufgerufen werden soll.