変数コレクションのクラス インスタンスの追跡
特定のクラスのインスタンスのリストを維持すると、各インスタンスから特定の変数を効率的に取得できます。
クラス変数アプローチ
クラス インスタンスを追跡するための適切な方法は、クラス変数を利用することです。次の例は、このアプローチを示しています。
class Foo: instances = [] def __init__(self): self.x = {} Foo.instances.append(self)
この手法では、クラス内に共有リスト インスタンスが作成されます。各インスタンスが作成されると、それ自体がリストに追加されます。
インスタンス変数の取得
プログラムの最後にすべてのインスタンスから x 辞書を収集するには、新しい辞書:
foo_vars = {id(instance): instance.x for instance in Foo.instances}
ここで、id() は各インスタンスに一意の識別子を提供し、インスタンス ID をキーとして、x 辞書を値として持つ辞書の作成を可能にします。
共有リスト
クラス変数アプローチにより、インスタンスの数に関係なく、すべてのインスタンスにわたって 1 つのリスト (インスタンス) のみが維持されることが保証されます。これにより、インスタンスごとに個別のリストを追跡する必要がなくなります。
以上がPython クラスのインスタンス変数を効率的に追跡して取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。