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

相关推荐
skywalk81633 分钟前
pytest测试的时候这是什么意思?Migrating <class ‘kotti.resources.File‘>
前端·python
overmind5 分钟前
oeasy Python 121[专业选修]列表_多维列表运算_列表相加_列表相乘
java·windows·python
房开民8 分钟前
可变参数模板
java·开发语言·算法
t***54427 分钟前
如何在现代C++中更有效地应用这些模式
java·开发语言·c++
m0_6784854531 分钟前
CSS如何控制表格单元格边框合并_通过border-collapse实现
jvm·数据库·python
m0_7488394935 分钟前
如何用组合继承模式实现父类方法复用与子类属性独立
jvm·数据库·python
qq_3345635544 分钟前
PHP源码是否依赖特定芯片组_Intel与AMD平台差异【操作】
jvm·数据库·python
qq_206901391 小时前
如何使用C#调用Oracle存储过程_OracleCommand配置CommandType.StoredProcedure
jvm·数据库·python
m0_748839491 小时前
CSS如何实现元素平滑滚动_使用scroll-behavior属性设置
jvm·数据库·python
Victoria.a2 小时前
python基础语法
开发语言·python