Skip to main content
 首页 » 编程设计

python之为什么我在赋值错误之前得到一个局部变量引用

2025年05月04日8exmyth

<分区>

答案应该是 2 因为首先调用 main() 函数,然后调用 first() 函数,覆盖全局变量 num = 0 是在任何函数之外定义的,因此将其呈现为具有全局范围的变量。但是我收到以下错误:

UnboundLocalError: local variable 'num' referenced before assignment   

为什么会出现此错误?

def first(): 
    num = num + 1 
 
def main(): 
    num = 1 
    first() 
    print(num) 
 
num = 0 
 
num_result = main() 
 
print(num_result)