python在引用變量的時候尤其要注意變量的作用域,在函數里引用不可變類型變量的時候,函數執行結束后是不會改變全局變量的值的;若想在函數里改變不可變類型全局變量的值時,引用的時候要用”global arg";對於可變變量,函數執行結束后全局變量的值是回被改變的,如下:(說明一下,python不可變數據類型:string,int ,tuple 常量;可變數據類型:dict list)
1 在函數里引用不可變類型的全局變量:
可見,func1執行完后全局變量arg的值仍是1;
在函數內部改變全局變量的值則要在引用的時候說明"global":
2 在函數里引用可變類型的全局變量:
可見,list[0]的值由1被改為9,引用的時候不用加"global"