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

相关推荐
Slow菜鸟42 分钟前
Kiro 学习指南
java·开发语言
维度攻城狮6 小时前
ros2参数通信案例
开发语言·windows·python·ros2·参数通信
深圳佛手6 小时前
不用智能体开发框架,如何调用工具?
前端·python
清水白石0086 小时前
Python 与尾递归:为何不优化?如何优雅绕过?
开发语言·python
王大傻09286 小时前
使用python for循环与ord() + chr()实现字符串加密
开发语言·python
Louis Maos6 小时前
堆与栈分配的本质区别
java·开发语言
540_5406 小时前
ADVANCE Day35
人工智能·python·深度学习
郑泰科技6 小时前
python深度学习报错:Original error was: No module named ‘numpy.core._multiarray_umath‘
python·深度学习·numpy
毕设源码-朱学姐7 小时前
【开题答辩全过程】以 果蔬禽蛋生鲜食品采购配送系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
不要em0啦7 小时前
从0开始学python:函数与数据容器
开发语言·python