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

运行Python threading定时代码时第5行出现unresolved reference错误如何解决

问题原因

你代码里的报错和功能异常主要来自三个问题:

  • global关键字的使用语法错误:Python不支持在声明全局变量的同时赋值,global change = 0属于非法写法,这是未解析引用报错的直接原因
  • 变量初始化逻辑错误:如果把change = 0写在inchange函数内部,每次定时触发函数执行时都会重置变量值,无法实现累加效果
  • 定时时长不匹配:当前threading.Timer的第一个参数为1,对应1秒触发一次,和你需要的2秒间隔要求不符

修正后的代码

import threading
# 全局作用域初始化change变量
change = 0
def inchange():
    # 仅声明change为全局变量,不要在这里赋值
    global change
    # 修改定时时长为2秒
    threading.Timer(2, inchange).start()
    change = change + 2
    print(change)

if __name__ == "__main__":
    inchange()

验证效果

运行代码后会每隔2秒依次输出2、4、6、8……,符合预期功能需求。

内容的提问来源于stack exchange,提问作者Ritik Singh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 23:06:06