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

Python变量和作用域:了解Python变量作用域以及如何使用全局变量

发布时间:2023-06-30 11:56:23

Python是一种动态类型语言,变量的作用域是指变量存在的有效范围。在Python中,变量的作用域可以分为全局作用域和局部作用域。

1. 全局作用域:

全局变量是在函数之外定义的变量,它可以在程序的任何地方都可以被访问到。在函数内部也可以访问全局变量,但在函数内部如果要修改全局变量的值,则需要使用global关键字。

示例代码:

x = 10  # 定义一个全局变量

def foo():
    global x  # 声明要用到的是全局变量x
    x = 20   # 修改全局变量x的值
    print(x)

foo()  # 输出20
print(x)  # 输出20

2. 局部作用域:

局部变量是在函数内部定义的变量,它只能在函数内部被访问到,并且默认情况下,局部变量的作用范围仅限于函数内部。

示例代码:

def foo():
    y = 30  # 定义一个局部变量
    print(y)

foo()  # 输出30
print(y)  # 报错,无法访问局部变量y

在函数内部,可以使用global关键字来声明要修改的是外部的全局变量。同样地,在函数内部也可以声明一个局部变量与全局变量同名,被声明的局部变量将会屏蔽全局变量。

示例代码:

z = 40  # 定义一个全局变量

def foo():
    z = 50  # 声明一个与全局变量同名的局部变量
    print(z)

foo()  # 输出50
print(z)  # 输出40,不受局部变量的影响

总结:

在Python中,变量的作用域可以分为全局作用域和局部作用域。全局变量可以在程序的任何地方访问,而局部变量只能在函数内部访问。在函数内部使用全局变量时,需要使用global关键字声明,否则将会被解释为创建一个新的局部变量。