python函数内部对全局变量进行修改
全局变量为immutable(不可变的)
a = '000'
def f():
a = '1'
f()
print(a)
控制台输出结果:
000
在例1中:
对于变量a,在函数f()中
a = '1'
这里的a既可以表示引用全局变量a,也可以表示创建一个新的局部变量a的歧义,正因为有这样的歧义存在,因此python默认指定创建一个新的局部变量来消除这一歧义。
全局变量为mutable(可变的)
a = ['000']
def f():
a[0] = '1'
f()
print(a)
控制台输出结果:
[‘1’]
在例2中:
但对于列表a而言
a[0] = '1'
不存在这种歧义,因此直接修改了全局变量。