python在引用變數的時候尤其要注意變數的作用域,在函式裡引用不可變型別變數的時候,函式執行結束後是不會改變全域性變數的值的;若想在函式裡改變不可變型別全域性變數的值時,引用的時候要用」global arg";對於可變變數,函式執行結束後全域性變數的值是回被改變的,如下:(說明一下,python不可變資料型別:string,int ,tuple 常量;可變資料型別:dict list)
1 在函式裡引用不可變型別的全域性變數:
可見,func1執行完後全域性變數arg的值仍是1;
在函式內部改變全域性變數的值則要在引用的時候說明"global":
2 在函式裡引用可變型別的全域性變數:
可見,list[0]的值由1被改為9,引用的時候不用加"global"
python 引用全域性變數之global
1.global在python中叫關鍵字,不叫命令 2.global的作用就是引用全域性變數到區域性作用域中來 3.如果全域性變數中沒有乙個變數a,而函式中寫了 globa a這樣的語句,那麼等於在全域性變數中建立了乙個變數a 4.舉例 a 10 def fun global a a 20 fun ...
函式中「引用」全域性變數和「修改」全域性變數的差別
以下程式中,函式中可以直接列印出全域性變數x,而無須使用關鍵字global html view plain copy print?x 1 def run print x if name main run 當在函式中需要修改全域性變數時,如果沒有global關鍵字則會出錯 python view pl...
python 全域性變數
應該盡量避免使用全域性變數。不同的模組都可以自由的訪問全域性變數,可能會導致全域性變數的不可預知性。對全域性變數,如果程式設計師甲修改了 a的值,程式設計師乙同時也要使用 a,這時可能導致程式中的錯誤。這種錯誤是很難發現和更正的。全域性變數降低了函式或模組之間的通用性,不同的函式或模組都要依賴於全域...