使用__bases__怎么出错了
class A:def get_a(self):
print( 'a')
class B:
def get_b(self):
print ('b')
class C:
pass
C.__bases__ += (A, B, )
Traceback (most recent call last):
File "<pyshell#125>", line 1, in <module>
C.__bases__ += (A, B, )
TypeError: Cannot create a consistent method resolution
order (MRO) for bases object, A, B 你可以看一下这个:
https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=48888&pid=2512931 isdkz 发表于 2022-4-8 16:51
你可以看一下这个:
https://fishc.com.cn/forum.php?mod=redirect&goto=findpost&ptid=48888&pid=2512931
就是按上面打出来运行报错{:10_266:} 墨羽鱼 发表于 2022-4-8 16:56
就是按上面打出来运行报错
不是,我叫你看的是评论区的那个,不知道为什么我发的那个地址没有跳过去,
你翻到 14 楼 class X:
pass
class A(X):
def get_a(self):
print( 'a')
class Y:
pass
class B(Y):
def get_b(self):
print ('b')
class Z:
pass
class C(Z):
pass
C.__bases__ += (A, B,)
c=C()
c.get_a()
c.get_b() 本帖最后由 isdkz 于 2022-4-8 19:08 编辑
墨羽鱼 发表于 2022-4-8 17:59
class X:
pass
class A(X):
A 和 B 不需要继承一个类,需要动态修改基类的那个类不是默认的类(新式类,继承 object)就可以了:
class A:
def get_a(self):
print( 'a')
class B:
def get_b(self):
print ('b')
class D:
pass
class C(D):
pass
C.__bases__ += (A, B, )
c=C()
c.get_a()
c.get_b()
页:
[1]