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

相关推荐
毕设源码-郭学长4 分钟前
【开题答辩全过程】以 基于python电商商城系统为例,包含答辩的问题和答案
开发语言·python
black0moonlight4 分钟前
win11 isaacsim 5.1.0 和lab配置
python
散峰而望7 分钟前
【算法竞赛】栈和 stack
开发语言·数据结构·c++·算法·leetcode·github·推荐算法
Mr -老鬼8 分钟前
Rust 的优雅和其他语言的不同之处
java·开发语言·rust
知乎的哥廷根数学学派8 分钟前
基于多尺度注意力机制融合连续小波变换与原型网络的滚动轴承小样本故障诊断方法(Pytorch)
网络·人工智能·pytorch·python·深度学习·算法·机器学习
网安CILLE9 分钟前
PHP四大输出语句
linux·开发语言·python·web安全·网络安全·系统安全·php
jjjddfvv11 分钟前
超级简单启动llamafactory!
windows·python·深度学习·神经网络·微调·audiolm·llamafactory
weixin_5316518112 分钟前
Rust 的所有权机制
java·开发语言·rust
A先生的AI之旅13 分钟前
2025顶会TimeDRT快速解读
人工智能·pytorch·python·深度学习·机器学习
江公望16 分钟前
QT/QML qmlRegisterType()函数浅谈
开发语言·qt