有没有办法在Python中将类的所有对象作为列表返回?

时间:2019-07-18 18:50:30

标签: python python-3.x class object

我正在创建一个带有多种武器的小游戏。每个武器都是“武器”类中的一个对象变量。我想创建一个数组,其中包含每个单个Weapon对象作为其变量名。有没有简便的方法,还是我必须自己在列表中键入每个对象的名称?为了明确起见,我不想列出对象的属性,我想要一些可以返回属于给定类的对象列表的东西。

1 个答案:

答案 0 :(得分:1)

您通常需要通过覆盖baseUrl='http://locahost:4200/users'; 来自己构建这样的列表。

__new__

请记住,除非您使用弱引用来跟踪实例,否则此类列表将延迟实例被垃圾回收。另外,不会自动从列表中删除实例;为此,使用class Weapon: weapons = [] def __new__(cls, *args, **kwargs): obj = super().__new__(cls, *args, **kwargs) Weapon.weapons.append(obj) (将实例ID映射到实例本身以进行轻松查找)可能会更简单。