以下のケースでPythonの動作がどう違うのだろうか?Pythonで "ローカルオブジェクト"を作る方法は?
ケース1ローカル整数変数を変更しますが、グローバル変数は変わりません。まあ、それはOKです。
N = 1
def Func1(x):
x = 0
Func1(N)
print(N) # prints 1
ケース2私は、ローカルオブジェクトのプロパティを変更...そして私がグローバルオブジェクトを変更したようです。
class C1:
def __init__(self):
self.A = 1
Obj1 = C1()
def Func2(x):
x.A = 0 #here is a confusing moment
Func2(Obj1)
print(Obj1.A) #prints 0
多分私は実際にローカルであるかどうかについての不完全な理解を持っていますか?その場合、「ローカルオブジェクト」に類似したものをどのようにコーディングできますか?
グローバルオブジェクトは変更していません。グローバルオブジェクト内のデータを変更しました。 – Matthias
グローバルオブジェクトのようなものを作成するにはどうすればよいですか? – Bzhenko