在编程领域,维护类实例的有组织的记录可能是无价的。想象一个场景,在程序结束时,您寻求编译从特定类的所有实例中提取的特定变量的字典。
考虑以下类结构:
<code class="python">class Foo(): def __init__(self): self.x = {}</code>
实例该类的 foo1、foo2 等被创建并表示为 foo1、foo2 等。要建立跟踪所有实例的集中式注册表,一种有效的策略涉及利用类变量:
<code class="python">class A(object): instances = [] def __init__(self, foo): self.foo = foo A.instances.append(self)</code>
此方法可确保添加到类中的每个实例都会自动在实例列表中注册。
要轻松地从每个实例中检索所需的变量,请采用以下技术:
<code class="python">foo_vars = {id(instance): instance.foo for instance in A.instances}</code>
此代码片段迭代实例列表,使用字典理解创建一个新字典,其中键是实例 ID,值是每个实例的 foo 变量。
本质上,此方法提供了一种集中且高效的方法来跟踪类实例,使您能够同时访问多个实例的关键数据。
以上是如何高效地跟踪和访问多个类实例的数据?的详细内容。更多信息请关注PHP中文网其他相关文章!