-1
我已經編寫了一個簡單函數來理解Python中的本地和全局作用域。Python - 函數中的本地和全局作用域
x = 50
def func(x):
print('x is', x)
x = 2
print('Changed local x to', x)
func(x)
print('x is still', x)
什麼,我想在這裏理解爲x = 2分配期間在函數內部任何新的變量是越來越創建爲全局變量x仍持有價值50。這個過程如何在Python中發生?
函數內的'x'與函數外的'x'是完全不同的變量。 – khelwood
有趣的是,完全相同的代碼和一個非常類似的問題。這是作業還是書的一部分? – MSeifert
@khelwood小心!他他給函數(通過參數)引用全局'x'。全局'x'仍然保持50的原因是因爲整數不可變......如果你使用'[50]'而不是你可以從函數內部操縱全局狀態... – Chris