我理解当类是超类的子类时为什么要使用super(),但是在子类参数中没有指定超类的类的超类是什么?我的代码是:
import random
class Sneaky:
sneaky = True
def __init__(self, sneaky=True, *args, **kwargs):
super().__init__(*args, **kwargs)
self.sneaky = sneaky
def hide(self, light_level):
return self.sneaky and light_level < 10
class Agile:
agile = True
def __init__(self, agile=True, *args, **kwargs):
super().__init__(*args, **kwargs)
self.agile = agile
def evade(self):
return self.agile and random.randint(0, 1)
假设
Sneaky
用作多重继承类结构的一部分,例如:因为
^{pr2}$Thief.__init__
的super().__init__(*args, **kwargs)
调用Sneaky.__init__
。在Sneaky.__init__
的super().__init__(*args, **kwargs)
调用Person.__init__
。在如果}将引发
super().__init__
调用从Sneaky.__init__
中删除,那么{因为
Person.__init__
不会被调用。在相关问题 更多 >
编程相关推荐