クラスメソッドでsuperを使用する
Pythonでsuper()関数を学習しようとしています。 この例(2.6)に出くわして行き詰まるまで、私はそれを理解していると思いました。 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) >>> 例の直前にこの行を読んだとき、それは私が期待したものではありませんでした: クラスメソッドを使用している場合、superを呼び出すインスタンスはありません。私たちにとって幸いなことに、superは2番目の引数として型を使用しても機能します。---以下に示すように、型を直接superに渡すことができます。 これは、do_something()をBのインスタンスで呼び出す必要があると言っても、Pythonが私に言っていることではありません。