Skip to main content
 首页 » 编程设计

python之在 Python 2/3 中访问函数内部的全局变量时出现异常

2025年05月04日6lori

<分区>

如果不使用global 关键字,则无法在函数内访问全局变量; (很好)但我没想到会出现以下情况:

案例一:

a = 1 
 
def f(): 
  a += 1 
  print(a) 
 
>>> f() 
... 
UnboundLocalError: local variable 'a' referenced before assignment 

我推测的原因:函数在其本地范围内找不到变量 a。

案例二:

a = 1 
 
def f(): 
  print(a) 
 
>>> f() 
1 

但是现在,该函数在其本地范围内找到变量 a。 矛盾,我在前面的案例中推测的原因。

为什么会这样?