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

相关推荐
sycmancia14 分钟前
C++——多态
开发语言·c++
不懒不懒18 分钟前
【形态学图像处理:腐蚀、膨胀与边缘检测的核心技术解析】
python·opencv·计算机视觉
啊阿狸不会拉杆28 分钟前
《计算机视觉:模型、学习和推理》第 18 章-身份与方式模型
人工智能·python·学习·计算机视觉·分类·子空间身份模型·plda
t1987512829 分钟前
基于多尺度特征融合与自适应权重优化的水下图像对比度与边缘增强MATLAB方法
开发语言·matlab
Nontee39 分钟前
Leetcode Top100答案和解释 -- Python版本(矩阵)
python·leetcode·矩阵
love530love43 分钟前
ComfyUI 报错解决记录:NumPy/SciPy 不兼容与 OpenCV 扩展模块缺失
人工智能·windows·python·opencv·numpy·scipy·layerstyle
每天都在健身的程序员1 小时前
OpenClaw 部署 + 飞书对接完整教程【防踩坑版】
python·openclaw
lcreek1 小时前
LeetCode2208. 将数组和减半的最少操作次数、LeetCode2406.将区间分为最少组数
python·算法
chilavert3181 小时前
程序员面试经典问题解答:java篇-2
开发语言·python
senijusene1 小时前
TCP并发服务器:poll和epoll的多路复用
开发语言·php