gpt4 book ai didi

python - 有没有办法在 Python 的多重继承对象中访问重写的方法?

转载 作者:行者123 更新时间:2023-11-28 19:25:25 25 4
gpt4 key购买 nike

我有以下 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com