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

相关推荐
Sirius.z7 小时前
第R6周:LSTM实现糖尿病探索与预测
python
名字还没想好☜7 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
·薯条大王8 小时前
经济实惠玩云服务器|一台云服务器多人共用,子账号配置教程
java·linux·运维·服务器·汇编·c++·python
Dxy12393102169 小时前
Python 如何使用 MySQL 的事务
python·mysql
一壶浊酒..11 小时前
Scrape Webpack练习
开发语言·javascript·webpack
命运之光11 小时前
【C语言完整代码】就诊信息管理系统
java·c语言·开发语言
命运之光11 小时前
【C语言完整代码】图书管理系统:图书馆场景下的增删改查实战
c语言·开发语言
猿长大人12 小时前
C# | Serilog 新手入门
开发语言·c#·.net·log
今儿敲了吗13 小时前
Python ——第三方包
笔记·python
麒麟水手13 小时前
国产银河麒麟系统开发实录:跑通Streamlit,我踩过的6个坑
python