python - 每个子类都包含自己的列表吗?

标签 python class python-3.x subclass class-variables

我希望有一个基类,它将使每个子类包含一个列表,而无需为每个子类手动执行此操作? 例如,当我从 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

现在看来,这似乎很容易手动完成,但我希望这个类系统对于那些不太了解它的人来说尽可能用户友好(基本上只阅读热门教程)创建这些子类),并且大多数类都会有一个空的 element_list,或者在定义类后稍后在代码中添加元素。

我很乐意拥有它,以便默认情况下有一个空列表,即使没有在子类中手动定义一个空列表,并且每个子类都会自动拥有自己的唯一列表。

这可能吗?

最佳答案

将可变对象作为类属性几乎从来都不是一个好主意。只需使用元组,如果需要修改列表,您可以随时覆盖属性。

关于python - 每个子类都包含自己的列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27847015/

相关文章:

python - 效率 : 2D-list to dictionary in python

python - SQLite 3 python

Python模拟keydown

python - 使用 Python 对 bool 数据进行快速索引和位翻转

PHP:如何获取实现特定接口(interface)的类列表?

python - 如何在 Python 中更改 TestCase 类的文档字符串?

c# - 在c#中使用接口(interface)实例化类

json - 将具有多个级别的 json 读入 DataFrame [python]

python - 当参数为 datetime.date 时,SQLAlchemy 丢失查询数据

python - celery 、Redis 和连接池