我正在尝试学习 Python 中的 super ()函数。
我以为我已经掌握了它,直到我来到这个例子(2.6) ,发现自己卡住了。
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 甚至可以将类型作为第二个参数。——-该类型可以直接传递给 super,如下所示。
Python 告诉我,do _ something ()应该用 B 的实例来调用,这是不可能的。