例一:
a = 9
def b():
print(a)
结果打印出来是:9
a 是定义在函数外部的全局变量,在函数内部可以使用。
例二:
a = 4
def b():
a = 8
print(a)
b()
print (a)
执行结果是:8,4
在函数内部定义的a 是局部变量,当我们调用函数b的时候,函数内部打印的是局部变量,函数外部打印的是全局变量a,并没有改变外部的全局变量。
如果你想在函数内部改变全局变量的值,就要使用global关键字
a = 8
def b ():
global a
a = 2
print(a)
b()
print(a)
执行结果是:2,2
例三:
def make_counter():
count = 0
def counter():
count = 5
count += 1
return count
print(counter())
print(count)
执行结果是 6,0
要想在嵌套函数内部修改局部变量的值,可以使用nonlocal关键字
def make_counter():
count = 0
def counter():
nonlocal count
count =+ 1
return count
print(counter())
print(count)
执行结果是:1,1