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

相关推荐
yuanlaile3 小时前
Golang实现在线教育直播、农场监控直播 幼儿园监控直播
开发语言·后端·golang·go直播实战
m0_730115113 小时前
C++中的装饰器模式实战
开发语言·c++·算法
m0_743470373 小时前
C++中的适配器模式
开发语言·c++·算法
文人sec3 小时前
抛弃 Postman!用 Pytest+Requests+Allure+Playwright+Minium 搭建高逼格接口+UI自动化测试平台
自动化测试·python·测试工具·ui·pytest·playwright
ic爱吃蓝莓3 小时前
每日一题·字母异位词分组
java·开发语言
2501_908329853 小时前
使用Python分析你的Spotify听歌数据
jvm·数据库·python
csbysj20203 小时前
Perl 目录操作
开发语言
木子清billy3 小时前
物联网浏览器(IoTBrowser)-js开发人脸识别
开发语言·javascript·物联网
沐知全栈开发3 小时前
CSS 图像透明/不透明处理指南
开发语言
Cosmoshhhyyy3 小时前
《Effective Java》解读第45条:谨慎使用Stream
java·开发语言·c#