如何在Python函数内部访问全局变量?
发布时间:2023-06-16 12:05:01
在 Python 中,我们可以使用 global 关键字在函数内部访问全局变量。
当我们在函数内部访问一个变量时,Python 会先在函数的本地命名空间中查找变量(也就是该函数的作用域),如果没有找到,就会往上一级查找,也就是全局命名空间。
如果函数内部的变量名与全局变量名相同,那么函数内部会优先使用本地变量。但是在某些情况下,我们需要修改一个全局变量的值,这时候就需要使用 global 关键字来将该变量声明为全局变量。
下面是一个简单的示例:
# 定义一个全局变量
global_var = 10
# 定义一个修改全局变量的函数
def modify_global_var():
# 声明 global_var 为全局变量
global global_var
# 修改全局变量的值
global_var += 1
print(global_var)
# 调用函数
modify_global_var() # 输出 11
在上面的示例中,我们首先定义了一个全局变量 global_var,并在函数 modify_global_var 中修改了该变量的值。但是在函数内部直接修改变量是不会影响到全局变量的值的,所以我们需要使用 global 关键字将 global_var 声明为全局变量,这样我们就可以在函数内部修改全局变量的值。
需要注意的是,一般情况下我们不建议在函数内部修改全局变量的值,因为这会导致代码变得不可预测。 的做法是在函数内部使用局部变量,并将需要的参数传递给函数。这样可以避免全局变量被误修改的风险。
