Skip to main content
 首页 » 编程设计

Python 类和集合

2025年05月04日22mayingbao

这是一个最佳实践问题

比方说,我有一个类对象,如下所示:

class ClassOfObjects: 
     def __init__(self, name): 
       self.name = name 
     ... 

比方说,我实例化了其中的 3 个对象

a = ClassOfObjects('one') 
b = ClassOfObjects('two') 
c = ClassOfObjects('three') 

现在,我想创建一个对象列表。一种明显的方法是创建列表对象

ListOfObjects = [a,b,c] 

我发现这有局限性。特别是当我试图搜索具有特定对象的对象时。是否有人知道任何最佳实践。

请您参考如下方法:

您可以让每个实例在创建时将自己注册到类中:

class K(object): 
     registry = {} 
     def __init__(self, name): 
         self.name = name 
         self.registry[name] = self 

然后 K.registry 是您创建的所有实例的字典,名称作为键。您甚至不需要将实例分配给变量,因为它可以通过注册表访问。您还可以轻松地遍历实例。

也许如果您分享有关您的用例的更多信息,有人可以提供更好的替代方案。