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关键字声明。而局部变量只能在所定义的函数内部访问和使用,函数外部无法直接访问。
