global关键字的存在是为了改变变量在程序中的作用域,将一个变量的作用域扩大为全局使用,在一个python模块中都可用对其变量值进行操作。在python中的变量默认是局部作用域,若要使用全局变量实现某种特殊的功能则要添加global关键字进行声明。
1a = 1
2
3def func(a):
4
5 print('a == ', a)
6
7 a = 2
8
9 print('函数内部赋值后a == ', a)
10
11func(a)
12
13print('函数外部值 a == ', a)
14
15# a == 1
16
17# 函数内部赋值后a == 2
18
19# 函数外部值 a == 1
说明:在函数外部定义a变量为1后,在函数内部引用重新赋值后在函数外部a的值仍然为1,说明在函数内部重新对a赋值的操作并没有生效。
1a = 1
2
3def func():
4
5 global a
6
7 print('a == ', a)
8
9 a = 2
10
11 print('函数内部赋值后a == ', a)
12
13func()
14
15print('函数外部值 a == ', a)
16
17# a == 1
18
19# 函数内部赋值后a == 2
20
21# 函数外部值 a == 2
说明:和局部引用不同的是在函数func()内部声明a为全局变量后,func()函数就不需要将a再作为参数传递直接引用即可,执行完函数内部对a变量的赋值后,a的值重新被赋值为2。
联系客服