我目前正在尝试在我的Python项目中实现一些继承,并且遇到了一个障碍。我正在尝试创建一个BaseParentClass,它将处理许多子类的基本功能。在这个特定的示例中,我试图用一些属性(设置为0)初始化一个实例,这些属性存储在子级中的类变量列表(称为attrs)中。我不确定如何在父类中使用这个属性。
class Parent(object):
def __init__():
for attr in ATTRS:
setattr(self, attr, 0)
class Child(Parent):
#class variable
ATTRS = [attr1, attr2, attr3]
def __init__():
super(Child, self).__init__()
我可以将attr作为self.attrs存储在子级中,然后成功地在父级中使用self.attrs,但对于我来说,最好将它们存储为类变量。
或者,我可以将attrs作为参数传递,如下所示:
class Child(Parent):
#class variable
ATTRS = [attr1, attr2, attr3]
def __init__():
super(Child, self).__init__(ATTRS)
号
但我想知道,这是否以某种方式破坏了最初使用继承的意义?
无论我是完全错误的选择,我都会感激任何想法、提示或反馈!
谢谢
当你尝试它时会发生什么?
你很亲密。这项工作: