【发布时间】:2019-07-18 18:50:30
【问题描述】:
我正在创建一个有多种武器的小游戏。每个武器都是“武器”类中的一个对象变量。我想创建一个数组,其中包含每个武器对象作为其变量名。有没有一种简单的方法可以做到这一点,还是我必须自己将每个对象名称输入到列表中?澄清一下,我不想列出对象的属性,我想要返回属于给定类的对象列表的东西。
【问题讨论】:
-
为什么需要一个变量名数组?
-
这样我就可以遍历它并打印出每个对象的特定属性。
-
您可以使用
dir、__dict__(如果您的班级不使用__slots__)、适当的locals调用或使用元类来使用它。 -
您应该使用weakref 模块中的结构之一。所以你不必照顾删除。只需将对象添加到它们的
__init__()中即可。
标签: python python-3.x class object