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

相关推荐
wjs202417 小时前
Django Nginx+uWSGI 安装配置指南
开发语言
不知更鸟17 小时前
Django 项目设置流程
后端·python·django
七夜zippoe18 小时前
JVM类加载机制(Class Loading)详解:双亲委派模型与破坏实践
java·开发语言·jvm·类加载·双亲委派
曹牧18 小时前
C#:无法从方法组转换为objec
开发语言·c#
自动化代码美学18 小时前
【Python3.13】官网学习之控制流
开发语言·windows·python·学习
coderxiaohan20 小时前
【C++】仿函数 + 模板进阶
开发语言·c++
IMPYLH20 小时前
Lua 的 collectgarbage 函数
开发语言·笔记·junit·单元测试·lua
百锦再21 小时前
第18章 高级特征
android·java·开发语言·后端·python·rust·django
Tony Bai21 小时前
Go 在 Web3 的统治力:2025 年架构与生态综述
开发语言·后端·架构·golang·web3