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

相关推荐
郝学胜-神的一滴6 分钟前
Socket实战:从单端聊天到多用户连接的实现秘籍
服务器·开发语言·python·网络协议·pycharm
zzwq.11 分钟前
线程池与进程池:concurrent.futures高效并发
python
小超超爱学习993712 分钟前
大数乘法,超级简单模板
开发语言·c++·算法
java1234_小锋17 分钟前
Java高频面试题:MyBatis如何实现动态数据源切换?
java·开发语言·mybatis
knighthood200120 分钟前
Qt5.15+VTK9.3.0实现点云点选功能
开发语言·qt
墨神谕25 分钟前
Java中,为什么要将.java文件编译成,class文件,而不是直接将.java编译成机器码
java·开发语言
Ricardo-Yang26 分钟前
SCNP语义分割边缘logits策略
数据结构·人工智能·python·深度学习·算法
soragui1 小时前
【Python】第 4 章:Python 数据结构实现
数据结构·windows·python
和小潘一起学AI1 小时前
CentOS 7安装Anaconda
开发语言·python
kcuwu.1 小时前
Python 正则表达式从入门到实战
数据库·python·正则表达式