欢迎访问宙启技术站
智能推送

如何在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 声明为全局变量,这样我们就可以在函数内部修改全局变量的值。

需要注意的是,一般情况下我们不建议在函数内部修改全局变量的值,因为这会导致代码变得不可预测。 的做法是在函数内部使用局部变量,并将需要的参数传递给函数。这样可以避免全局变量被误修改的风险。