我有以下 Python 代码。如何在不更改类定义的情况下让 c 返回 2?或有不同说法。如何访问具有多重继承的对象中的重写方法?
class A(object):
def foo(self):
return 1
class B(object):
def foo(self):
return 2
class C(A, B):
def __init__(self):
A.__init__(self)
B.__init__(self)
c = C()
c.foo() # Returns 1
最佳答案
在问了这个问题后,我在其他地方得到了答案,所以这里是:
import types
c.foo = types.MethodType(B.foo, c)
关于python - 有没有办法在 Python 的多重继承对象中访问重写的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14335710/