python当中函数中的变量和全局变量
在一个函数外有一个变量,如何在函数中调用该全局变量:
1.不可变数据类型,则需要在函数中用到关键字global
a ="222" def func(): global a a += "111" print(a) # 222 func() # print(a) # 222111
2.不可变数据类型,则可以用关键字global或者不用
a = [11,22] def run(): a.append(33) print(a) # [11,22] run() print(a) # [11,22,33]
3.不可变数据类型,但指向指向了一个新的地方,则必须使用关键字global:
a = [11,22] def func2(): b = [33,44] a += b print(a) # [11,22] func2() print(a) # [11,22,33,44]
注意,在一个函数中对全局变量进行修改,到底是否使用global需要看是否对全局变量的指向进行了修改。如果修改了指向,让全局变量指向了一个新的地方,必须使用global,如果只是修改了指向中的空间中的数据,则不用使用global。