Pythonのクラスのインスタンスの属性と属性が感謝します

論理的にクラス属性を変更するには、話して、このオブジェクトのクラス属性のインスタンスも変更しましたが、実際にはPythonでない場合はする必要があります

クラステスト():
    名前 = 111 = テスト()
B = 試験()
a.name = 222 
test.name = 333
 プリント(a.name、b.name、test.name)
输出: 222 333 333



ここでA.name値はtest.name = 333に変更されていません

メモリ内のViewプロパティの場所

プリント(ID(a.name))
 プリント(ID(b.name))
 プリント(ID(test.name))

输出:
 140705896729248 
2154539206672 
2154539206672

次に、オブジェクトのプロパティを表示します

プリント__dict__ プリント(B。__dict__ プリント(試験。__dict__ 

{ ' 名前':222 } 
{} 
{... ' 名前':333 .....}

name属性を作成し、名前のプロパティの割り当てオブジェクトを操作する際の名前は、プロパティのタイプが、ターゲットのプロパティ(良い程度)がないように理解することができます

場合b.name調査test.nameクエリが実際である場合、Bは、(同じメモリロケーション)を作成し、そうではないました

例えばだから、優先クラスの属性と属性検索:インスタンスプロパティ]> [Propertiesクラスのインスタンスの属性はクラス属性をチェックするつもりはありません

 

おすすめ

転載: www.cnblogs.com/fengf233/p/10991028.html