我希望有一个基类,它会使每个子类包含一个列表,而不需要为每个子类手动执行它?
例如,当我从Subclass
创建BaseClass
时,我希望我的Subclass
自动拥有element_list
列表。
目前我这样做:
class BaseClass:
element_list = ['Base Element', 'More Element\'s']
def do_stuff(): pass
class Subclass(BaseClass):
# Replaces BaseClass' element_list
element_list = ['Sub Element', 'More Sub Element\'s']
def do_sub_stuff(): pass
现在看来,这似乎很容易手动完成,但我希望这个类系统尽可能方便用户,因为对于那些不太了解它的人来说(基本上只读过)一个热门的教程来制作这些子类),并且大多数类都会有一个空的element_list,或者在定义类之后在代码中添加了元素。
我喜欢拥有它,以便默认情况下有一个空列表,即使未在子类中手动定义,并且每个子类都会自动拥有自己的唯一列表。
这可能吗?
答案 0 :(得分:3)
将可变对象作为类属性几乎绝不是一个好主意。只需使用元组,如果需要修改列表,可以随时覆盖属性。