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

相关推荐
资源大佬星 课it12 小时前
黑马 Java+AI新版V16零基础就业班视频课程百度网盘下载
java·开发语言·人工智能
zmzb010312 小时前
Python课后习题训练记录Day193
开发语言·python
卷无止境12 小时前
LiteLLM 全面解析开源AI网关如何统一管理百余种大模型
后端·python
郝学胜-神的一滴12 小时前
[简化版 GAMES 104] 现代游戏引擎 06:从Tick时序到邮局模型,拆解确定性世界的底层密码
开发语言·c++·游戏引擎·图形渲染·软件开发·opengl
二十雨辰12 小时前
[Java]-微服务面试题
java·开发语言·微服务
不会代码的小猴12 小时前
6. Qt网络编程
开发语言·c++·笔记·qt·算法
caimouse12 小时前
ReactOS 图形系统分析(50):画笔子系统 — pen.c
c语言·开发语言·stm32
我的xiaodoujiao12 小时前
使用PyMySQL模块技术操作MySQL数据库
数据库·python·测试工具·mysql
卷无止境13 小时前
终端里的AI辅助,一场正在发生的编程效率变革
后端·python
苏灿烤鱼13 小时前
上下文写成文件系统,为什么向量还能静默丢?
python·github·agent