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何が起こっている?