问题
我在Dusty Phillips的面向对象编程中遇到了这个代码(为简洁起见进行了简化),我不确定这个定义的特定部分。
class A:
def __init__(self, a, **kwargs):
super().__init__(**kwargs)
self.a = a
class B:
def __init__(self, b, **kwargs):
super().__init__(**kwargs)
self.b = b
class C(A, B):
def __init__(self, c, **kwargs):
super().__init__(**kwargs)
self.c = c
问题
由于方法解析顺序为 ,可以按以下方式定义吗?(__main__.C, __main__.A, __main__.B, object)class B
class B:
def __init__(self, b):
self.b = b
难道不是多余的,因为任何盈余传递到都会传递到,提高?super().__init__(**kwargs)class BkwargsCobject
TypeError:object.__init__() 只接受一个参数(要初始化的实例)
这是否是如果被定义为而不是?Cclass C(B, A)class C(A, B)
海绵宝宝撒
慕森王
DIEA
相关分类