Python世界:报错Debug之referenced before assignment

Python世界:报错Debug之referenced before assignment

一句话总结

类中函数引用结构体变量,出现报错如下:

Python Debug:local variable 'split_num' referenced before assignment

解决:该变量改为全局变量使用,并在用前声明 global split_num

案例分析

使用背景:在函数内部定义变量,再接着定义子函数,引用了该变量。

如下面代码就会报错:local variable 'depth' referenced before assignment

python 复制代码
def f1():
depth = 0
    def func():
         depth += 1
    func()
return

根因分析:

  • 本质是函数内部声明的变量,默认类型是局部变量。
  • 而跟全局变量同名时,先引用局部变量,会不符合预期,提示未被初始化。

全局变量报错:UnboundLocalError: local variable 'l' referenced before assignment

相关推荐
蓝创工坊Blue Foundry14 小时前
扫描件批量转 Excel:先确认要整表还原还是字段汇总
python·pdf·ocr·excel
king_linlin14 小时前
算法基础——算法复杂度
c语言·开发语言·数据结构·算法
二十雨辰14 小时前
[爬虫]-解析
开发语言·python
zzq779714 小时前
Android 16 API 36 升级后 APP 加固兼容性问题解析
android·开发语言·安全·kotlin·安卓·安全架构
keyipatience14 小时前
日志和线程池
java·开发语言
码云数智-园园14 小时前
建站平台有哪些?建站工具怎么选
开发语言
nVisual14 小时前
01-环境监控集成方案
运维·服务器·开发语言·网络·数据库·数据中心布线·综合布线管理软件
此生决int15 小时前
深入理解C++系列(04)——类和对象(下)
开发语言·c++
天天爱吃肉821815 小时前
AI Agent时代你的经验值多少钱?
人工智能·python·功能测试·学习·汽车
Yeauty15 小时前
你那条 ffmpeg 命令,一键翻成 Rust builder 代码
开发语言·rust·ffmpeg