You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3中函数引用全局变量遇赋值前引用错误,如何解决?

问题解决:全局变量在函数内赋值前被引用的错误

你的问题出在函数内部没有声明要使用的全局变量。虽然你在全局作用域写了global add,但这个声明只在全局作用域生效——当函数里出现add = add + 1这类赋值操作时,Python会默认把add当作局部变量处理,而局部变量还没赋值就被print(add)调用,因此触发报错。

修复方法很直接,在函数内部开头加上global add声明,明确告诉Python这个函数里的add是全局变量:

add = 0  # 全局作用域无需加global,直接赋值即可创建全局变量

def addit():
    global add  # 关键:在函数内声明使用全局变量
    print(add)
    add = add + 1
    addit()

addit()

额外说明:全局作用域中的global add是多余的,直接给变量赋值就会生成全局变量,不需要额外声明。

内容的提问来源于stack exchange,提问作者Snapping Turtla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 14:20:22