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

相关推荐
Demon--hx12 小时前
C++ 文件流:理解 ifstream/ofstream 与 RAII 机制
开发语言·c++
benchmark_cc12 小时前
个人量化系统搭建:如何利用 QuantDash 实现 A 股日 K 线前复权数据的高效获取与质量校验?
python·数据分析·pandas·量化交易·股票数据·quantdash
纪念 22912 小时前
C++ stack和queue
开发语言·c++
hhb_61812 小时前
Python异步队列实战:高效处理耗时任务
开发语言·python
2601_9628857212 小时前
一个接口取 A 股+美股+港股:多市场数据方案对比
python
weixin_4166600712 小时前
Mermaid流程图导出到Word:SVG、PNG与清晰度如何选择?
开发语言·c#
CodeYp201912 小时前
第6讲:模板初阶
开发语言·c++·模板
SEO_juper12 小时前
Node.js 全站死链检测工具:从 sitemap 出发一次找全 404
开发语言·人工智能·python·node.js·seo·外贸独立站
ljt272496066112 小时前
Python笔记(九)--asyncio
笔记·python
喜欢打篮球的普通人12 小时前
LLVM 架构设计与原理:为什么它能取代 GCC 成为新宠
c语言·开发语言