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

相关推荐
(Charon)12 小时前
【C++ 面试高频基础:指针、引用、const、static、new/delete 总结】
java·开发语言
2601_9618752412 小时前
法考考试时间安排及科目|时间表|资料已整理
开发语言·c#·inverted-index·suffix-tree·sstable·r-tree·lsm-tree
AI科技星12 小时前
数术工坊第八卷:算力革命
c语言·开发语言·网络·量子计算·agi
geovindu13 小时前
go: Generators Pattern
开发语言·后端·设计模式·golang·生成器模式
茉莉玫瑰花茶13 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
文艺倾年13 小时前
【强化学习】强化学习基本概念,20W字总结(一)
人工智能·python·语言模型·自然语言处理·面试·职场和发展·大模型
宸丶一13 小时前
Day 13:持久化记忆 - 让 Agent 拥有长期记忆
jvm·python·ai
码云骑士14 小时前
13-列表append的底层真相(上)-listobject源码中的预分配策略
开发语言·python
浦信仿真大讲堂14 小时前
达索系统SIMULIA Abaqus 2026接触和约束的增强新功能介绍
人工智能·python·算法·仿真软件·达索软件
xufengzhu14 小时前
第三方 Python 库 Loguru 的进阶实战
python·loguru