Python中的global关键字

在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]

此时可以正常的修改全局变量了
原文地址:https://www.cnblogs.com/ronyjay/p/12792786.html