a = 4
def foo(x):
a = 10
foo(2)
print(a)
#prints 4
上記のコードは変更されませんa
a = 4
def foo(x):
return a + x
result = foo(10)
print(result)
#prints out 14
この 2 つの動作の違いがよくわかりません。2 つ目は、グローバル変数がローカル変数に明らかに影響しますfoo
。しかし、a
内の最初のものを変更しても、グローバル フレームにはfoo
何も起こりません。a
何が起こっている?