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

相关推荐
茗创科技3 分钟前
Nat Hum Behav | 特征选择会导致基于脑影像的机器学习生物标志物产生迥异的神经生物学解释
python·深度学习·机器学习·matlab·脑网络
IT策士5 分钟前
Django 从 0 到 1 打造完整电商平台:Django 模型进阶与数据迁移
python·django·sqlite
沪漂阿龙8 分钟前
Java JVM 面试题详解:JVM运行原理、内存模型、堆栈方法区、GC垃圾回收、JIT编译、类加载机制与线上调优全攻略
java·开发语言·jvm
OsDepK8 分钟前
AudioSplit音频多轨免费分离工具即将发布
ide·git·python·音视频·集成学习
小碗羊肉10 分钟前
Maven高级
java·开发语言·maven
不知名的老吴11 分钟前
C++ 中函数对象的形式概述
开发语言·c++
Metaphor69216 分钟前
使用 Python 将 Excel 转换为 PDF
python·pdf·excel
Shan120521 分钟前
C++中函数对象之重载 operator()
开发语言·c++·算法
彦为君24 分钟前
长时间运行的 Agent:如何设计可靠的执行框架
python·ai·ai编程
HelloWorld1024!30 分钟前
c++核心之万字详解 * 和 & 所有用法(指针、引用、取地址、解引用、常量修饰)
开发语言