変数コレクションのクラス インスタンスの追跡
特定のクラスのインスタンスのリストを維持すると、各インスタンスから特定の変数を効率的に取得できます。後のプログラム段階。
クラス変数アプローチ
クラス インスタンスを追跡するための適切な方法は、クラス変数を利用することです。次の例は、このアプローチを示しています:
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 つのリスト (インスタンス) のみが維持されることが保証されます。これにより、インスタンスごとに個別のリストを追跡する必要がなくなります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3