ホームページ > バックエンド開発 > Python チュートリアル > Python クラスでインスタンス固有のデータを確保するにはどうすればよいですか?

Python クラスでインスタンス固有のデータを確保するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-26 07:40:09
オリジナル
636 人が閲覧しました

How Can I Ensure Instance-Specific Data in Python Classes?

クラス内のインスタンス固有のデータ

オブジェクト指向プログラミングでは、クラスのインスタンスがデータを共有することが可能です。これは、各インスタンスに独自の個別のデータを維持させたい場合には望ましくないことがあります。

次のクラスがあるとします。

class A:
    list = []
ログイン後にコピー

このクラスのインスタンスを作成すると、すべてのインスタンスが共有されます。同じリスト属性:

>>> x = A()
>>> y = A()
>>> x.list.append(1)
>>> y.list.append(2)
>>> print(x.list)
[1, 2]
>>> print(y.list)
[1, 2]
ログイン後にコピー

この動作を回避し、オブジェクトごとに個別のインスタンスを提供するには、クラスを変更します。宣言:

class A:
    def __init__(self):
        self.list = []
ログイン後にコピー

__init__ メソッド内でリストを宣言することで、A の新しいインスタンスごとにリストの新しいインスタンスを作成します。これにより、A の各インスタンスが独自の独立したリスト属性を持つことが保証されます:

>>> x = A()
>>> y = A()
>>> x.list.append(1)
>>> y.list.append(2)
>>> print(x.list)
[1]
>>> print(y.list)
[2]
ログイン後にコピー

以上がPython クラスでインスタンス固有のデータを確保するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート