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.

http://www.cafepy.com/article/python_attributes_and_methods/python_attributes_and_methods.html#super-with-classmethod-example

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.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage