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

相关推荐
popcorn_min13 小时前
Wholesale Customers 聚类实验:用 K-Means 给批发客户分群
python
AC赳赳老秦13 小时前
OpenClaw+AWS 深度应用:自动生成 CloudFormation 模板、批量管理 S3 存储桶
java·python·面试·职场和发展·php·deepseek·openclaw
萤萤七悬14 小时前
【Python笔记】AI帮封装Airtest IOS-WDA touch操作时的factor坐标转换
笔记·python·ios
myenjoy_114 小时前
采集链路诊断与可观测性——当数据不“对“的时候,你在第几层排查?
python
码界索隆14 小时前
Python转Java系列:语法与类型系统
java·开发语言·python
ch.ju14 小时前
Java程序设计(第3版)第四章——编译中的错误:无法覆盖
java·开发语言
阿正的梦工坊14 小时前
【Rust】15-Rust 内存布局、Drop 顺序与 unsafe 边界
开发语言·rust
我认不到你14 小时前
【开源、教程】RAG全流程实现(java+完整代码):第二弹
java·开发语言·人工智能·深度学习·ai·语言模型·开源
AKA__Zas14 小时前
初识多线程plus(2.0)
java·开发语言·学习方法
Rabitebla14 小时前
C++ 多态详解:从概念到虚表底层原理(代码轰炸)
开发语言·c++