は、質問のためのいくつかのサンプルコードです:これを実行すると、コンストラクタは一度だけ呼び出されるため クラス内のインスタンス変数をクラス外から更新するにはどうすればよいですか?ここで
class Obj():
def __init__(self, p):
self.property = p
def printProp(self):
print(self.property)
myVar = 0
myObject = Obj(myVar)
myObject.printProp()
myVar = 1
myObject.printProp()
、パラメータが変更されず、0が二回印刷されます。プロパティに常にmyVar
変数を直接参照させる方法はありますか?
"プロパティに常にmyVar変数を直接参照させる方法はありますか?" - いいえ。変数はそのようには機能しません。 'myObject.property'は変数ではなく、オブジェクトを参照するだけです。 – user2357112
@ user2357112、よく、微妙な違いがあります:変更可能な型(辞書、タプル、リストなど)の変数で、再定義されずに代わりに変更された場合、上記のコードはうまくいくでしょう –