在Python中,global关键字允许你修改当前范围之外的变量。
其规则如下:
1.当我们在一个函数中创建一个变量时,默认情况下它是本地变量。 2.当我们在一个函数之外定义一个变量时,默认情况下它是全局变量。你不必使用 global 关键字。 3.我们使用 global 关键字在一个函数中来读写全局变量。 4.在一个函数外使用 global 关键字没有效果。
举三个例子:
1.从函数内部访问全局变量
a =1 #全局变量 def add(): print(a) add()
1 [Finished in 0.1s] 此时打印出的结果为1,证明可以从函数内部访问全局变量
2.在函数内部修改全局变量
a =1 def add(): a=a+1 #修改全局变量a print(a) add()
Traceback (most recent call last): File "C:UsersF1Desktop est.py", line 6, in <module> add() File "C:UsersF1Desktop est.py", line 3, in add a=a+1 UnboundLocalError: local variable 'a' referenced before assignment [Finished in 0.2s with exit code 1]
此时会出现报错,因为在函数内部,我们只能访问全局变量,但是不能修改它
3.使用global关键字在函数中修改全局变量
a =1 def add(): global a #声明global关键字 a=a+1 #修改全局变量 print(a) add()
2 [Finished in 0.1s]
此时可以正常的修改全局变量了