在 Python 中,global 关键字允许你修改当前范围之外的变量。它用于创建全局变量并在本地上下文中更改变量。
global 关键字的规则
在 Python 中,有关 global 关键字基本规则如下:
当我们在一个函数中创建一个变量时,默认情况下它是本地变量。
当我们在一个函数之外定义一个变量时,默认情况下它是全局变量。你不必使用 global 关键字。
我们使用 global 关键字在一个函数中来读写全局变量。
在一个函数外使用 global 关键字没有效果。
使用 global 关键字(示例)
示例 1:从函数内部访问全局变量
c = 1 # 全局变量
def add():
print(c)
add()
运行程序,输出为:
1
但是我们可能有一些场景需要从函数内部修改全局变量。
示例 2:在函数内部修改全局变量
c = 1 # 全局变量
def add():
c = c + 2 # 将 c 增加 2
print(c)
add()
运行程序,输出显示错误:
UnboundLocalError: local variable 'c' referenced before assignment
这是因为在函数中,我们只能访问全局变量但是不能修改它。
解决的办法是使用 global 关键字。
示例 3:使用 global 在函数中改变全局变量
c = 0 # global variable
def add():
global c
c = c + 2 # 将 c 增加 2
print("Inside add():", c)
add()
print("In main:", c)
运行程序,输出为:
Inside add(): 2
In main: 2
网友评论