我有一个名为CacheObject的类,它有许多子类。
现在我需要在所有继承自此类的子类中添加一些通用内容,所以我写了以下代码:
现在我需要在所有继承自此类的子类中添加一些通用内容,所以我写了以下代码:
class CacheObject(object):
def __init__(self):
self.updatedict = dict()
但是子类没有获得更新的updatedict属性。我知道在Python中调用super init函数是可选的,但是否有一种简单的方法来强制所有子类添加init而不是逐个遍历所有类并修改它们?
super
。如果子类没有定义自己的__init__
,则会自动调用基类的__init__
。否则,它们必须包含对super().__init__
的调用。 - shx2super
行的数量是多少?虽然我喜欢这个问题背后的概念,但它似乎有点不可靠。而且你只需要添加一次super
(到每个类中)。对我来说,这似乎并不特别繁琐。而且你知道他们说什么-显式优于隐式。 - Wayne Werner