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关键字声明,否则将会被解释为创建一个新的局部变量。
