全局变量和局域变量¶
全局变量与局域变量 #card¶
- 全局变量指的是不属于任何函数,但又可以在函数内外访问的变量。
- 局域变量指的是在函数内部声明的变量,局域变量只能在函数内部使用,无法在函数外访问(函数执行完后,会销毁内部定义的局部变量)。 ^1662425758490
变量作用域案例¶
案例:在函数内部访问全局变量 #card¶
global_var = 12 # 定义全局变量
def func():
local_var = 100 # 定义局部变量
print(global_var) # 可以在函数内部访问全局变量
func() # 调用函数func()
print(local_var) # 会出现错误,无法访问变量local_var
上述代码将会出现错误:
案例:局域变量覆盖全局变量 #card¶
xy = 100 # 定义全局变量xy
def func():
xy = 200 # 定义局部变量xy
print(xy) # 此时访问的是局部变量xy
func() # 调用函数func()
"""
结果为200
这种写法很容易使作者和读者混淆,应尽量避免。
"""
该代码显示的结果是200,不是100。但这种写法很容易使作者和读者混淆,应尽量避免。
案例:在函数内部修改全局变量 #card¶
- 使用
global
关键字,可将局部变量同全局变量绑定在一起。 - 使用
global
关键字声明全局变量时,无法直接赋值。比如“global t = 1
”的写法存在语法错误。 ^1662425758513
例如:
t = 1
def increment():
global t # 现在的变量t在函数内外都是一致的
t = t + 1
print(t) # 输出 2
increment()
print(t) # 输出 2
最后更新:
2022年10月15日 01:02:48
创建日期: 2022年9月5日 23:16:07
创建日期: 2022年9月5日 23:16:07
Contributers: