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

相关推荐
江南十四行12 小时前
并发编程(四)
开发语言·python
葱卤山猪13 小时前
C++17 联合体
开发语言·c++
折哥的程序人生 · 物流技术专研13 小时前
Java 23 种设计模式:从踩坑到精通 | 抽象工厂 —— 支付/收款如何成套创建?跨平台 UI 如何一键换肤?
java·开发语言·后端·设计模式
方也_arkling13 小时前
【Java-Day11】抽象类和抽象方法
java·开发语言
Ulyanov13 小时前
深入QML-Python通信 构建响应式交互界面的桥梁设计:QML+PySide6现代开发入门(五)
开发语言·python·算法·交互·qml·系统仿真
就叫_这个吧13 小时前
JavaScript中常用事件示例展示附源码
开发语言·javascript·html
浩瀚之水_csdn13 小时前
Python 推导式详解:从入门到精通
python
不会C语言的男孩13 小时前
C++ Primer Plus 第9章:内存模型和名称空间
开发语言·c++
zz345729811313 小时前
函数:python与c语言
c语言·开发语言·python
li星野13 小时前
LLMLingua:用小型模型“剪枝”大语言模型提示词,让长文本不再昂贵
人工智能·python·学习·语言模型·剪枝