每个子类都包含自己的列表吗?
Have each subclass contain a list of its own?
我希望有一个基础 class,它可以使每个子class 包含一个列表,而无需为每个子class 手动执行?
例如,当我从我的 BaseClass
创建一个 Subclass
时,我希望我的 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
现在看来,这似乎很容易手动完成,但我希望这个 class 系统对那些不太了解它的人(基本上只阅读热门教程来制作这些子 classes),大多数 classes 将有一个空的 element_list,或者在定义 [=] 之后在代码中添加元素14=].
我很想拥有它,以便默认情况下有一个空列表,即使没有在子class中手动定义一个列表,并且每个子class都会自动拥有它的自己独特的列表。
这可能吗?
将可变对象作为 class 属性几乎不是一个好主意。只需使用元组,如果需要修改列表,您可以随时覆盖属性。
我希望有一个基础 class,它可以使每个子class 包含一个列表,而无需为每个子class 手动执行?
例如,当我从我的 BaseClass
创建一个 Subclass
时,我希望我的 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
现在看来,这似乎很容易手动完成,但我希望这个 class 系统对那些不太了解它的人(基本上只阅读热门教程来制作这些子 classes),大多数 classes 将有一个空的 element_list,或者在定义 [=] 之后在代码中添加元素14=].
我很想拥有它,以便默认情况下有一个空列表,即使没有在子class中手动定义一个列表,并且每个子class都会自动拥有它的自己独特的列表。
这可能吗?
将可变对象作为 class 属性几乎不是一个好主意。只需使用元组,如果需要修改列表,您可以随时覆盖属性。