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

相关推荐
破茧蝴蝶3 小时前
Python分布式爬虫完整教程
开发语言·python
benchmark_cc3 小时前
量化系统架构设计:为什么应该将数据获取与策略逻辑解耦?
python·数据分析·pandas·量化交易·股票数据·quantdash
狗凯之家源码网3 小时前
全新 PHP 轻量客服聊天室源码深度评测
开发语言·php·聊天室系统
凤山老林3 小时前
Spring Boot 启动冲刺:耗时剖析、懒加载策略与事件驱动初始化优化
spring boot·后端·python
小白快快跑哦3 小时前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
远离UE43 小时前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5
keyipatience4 小时前
JavaScript学习(1)书写位置,变量、数据类型、运算符
开发语言·前端·javascript·css·学习
Thinker QAQ4 小时前
并发编程(九):BlockingQueue 与 Channel——语言层的原子性、可见性与有序性
java·python·go·并发编程·channel·blockingqueue·message passing
道满科技4 小时前
Function Calling 参数总出错?只修参数就行
linux·windows·python
栈帧之外4 小时前
【C++】STL之set
开发语言·c++