【发布时间】:2014-12-27 19:58:39
【问题描述】:
我目前正在尝试在我的 Python 项目中实现一些继承,但遇到了障碍。我正在尝试创建一个 baseParentClass 来处理许多子类的基本功能。在这个特定的例子中,我试图用一些属性(设置为 0)初始化一个实例,这些属性存储为 Child 中的类变量列表(称为 ATTRS)。我不确定如何在父类中使用这个 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__()
我可以在 Child 中将 ATTRS 存储为 self.ATTRS,然后在 Parent 中成功使用 self.ATTRS,但对我来说,将它们存储为类变量似乎更可取。
或者,我可以像这样将 ATTRS 作为参数传递:
class Child(Parent):
#class variable
ATTRS = [attr1, attr2, attr3]
def __init__():
super(Child, self).__init__(ATTRS)
但我想知道这是否以某种方式破坏了首先使用继承的意义?
无论我是否完全错误地吠叫了任何想法、提示或反馈,我都将不胜感激!
谢谢
【问题讨论】:
-
当你尝试时会发生什么?
标签: python inheritance