python在引用变量的时候尤其要注意变量的作用域,在函数里引用不可变类型变量的时候,函数执行结束后是不会改变全局变量的值的;若想在函数里改变不可变类型全局变量的值时,引用的时候要用”global arg";对于可变变量,函数执行结束后全局变量的值是回被改变的,如下:(说明一下,python不可变数据类型:string,int ,tuple 常量;可变数据类型:dict list)
1 在函数里引用不可变类型的全局变量:
可见,func1执行完后全局变量arg的值仍是1;
在函数内部改变全局变量的值则要在引用的时候说明"global":
2 在函数里引用可变类型的全局变量:
可见,list[0]的值由1被改为9,引用的时候不用加"global"