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

Python函数中的全局变量与局部变量的作用域

发布时间:2023-12-03 18:58:50

在Python中,全局变量和局部变量是两种不同作用域的变量。

全局变量是定义在函数外部的变量,它可以在整个程序的任何地方访问和使用。全局变量可以在不同的函数中共享和修改。如果在函数内部需要使用全局变量,可以使用global关键字来声明。

例如:

x = 10

def func():
    global x
    print(x)

func()  # 输出:10

上述代码中定义了一个全局变量x,然后在函数func()内部使用global关键字声明该变量。在函数func()中可以直接访问和使用全局变量x

另一方面,局部变量是定义在函数内部的变量,它只能在所定义的函数内部访问和使用。局部变量的作用域仅限于函数的内部,它在函数外部是不可见和不可访问的。

例如:

def func():
    y = 5
    print(y)

func()  # 输出:5

print(y)  # 报错:NameError: name 'y' is not defined

在上述代码中,变量y是在函数func()内部定义的局部变量。它只能在函数内部访问和使用,因此在函数外部直接访问会导致NameError错误。

总结起来,全局变量的作用域是整个程序,而局部变量的作用域仅限于所定义的函数内部。在函数内部,可以访问和使用全局变量,但无法修改全局变量的值,除非使用global关键字声明。而局部变量只能在所定义的函数内部访问和使用,函数外部无法直接访问。