UnboundLocalError 与作用域无关的造成原因与解决

今日编程时写到一处如下函数:

简单来说就是在try except块判断条件并计算出x,y,块外部未曾定义过x,y。

最终在其他文件调用时出现如下报错: 报错位置在于最后的append

在网上进行查询,人家都说是作用域 的问题,但总在于强调何时是局部,何时是全局,与变量名在等号的左侧还是右侧相关。但是此处是append函数,明显不是该问题

思考一番,且根据提示无值判断,原因应是try块正常执行,但没有符合条件的值,未对x,y赋值 ;因为这又不是错误,没有执行except块,x,y失去了进一步赋值的机会

所以在append的时候x,y就变成了一个没有值的局部变量。解决方法即在进入try块前先赋值,避免其为赋值而直接调用。

这里把except中的赋值放于前面。

总而言之,这是UnboundLocalError 与作用域无关的造成原因与解决

因看到网上较少对UnboundLocalError:cannot access local variable 'x' where it is not associates with a value后面这个具体形式的解决方案,故放上自己的思考过程作为参考。也是一种记录。觉得简单的大佬轻喷。

相关推荐
sjjhd6528 分钟前
Python日志记录(Logging)最佳实践
jvm·数据库·python
2301_8213696136 分钟前
用Python生成艺术:分形与算法绘图
jvm·数据库·python
机 _ 长1 小时前
YOLO26 改进 | 基于特征蒸馏 | 知识蒸馏 (Response & Feature-based Distillation)
python·深度学习·机器学习
2401_832131952 小时前
Python单元测试(unittest)实战指南
jvm·数据库·python
vx_BS813302 小时前
【直接可用源码免费送】计算机毕业设计精选项目03574基于Python的网上商城管理系统设计与实现:Java/PHP/Python/C#小程序、单片机、成品+文档源码支持定制
java·python·课程设计
gzxx2007sddx2 小时前
windows vnpy运行过程及问题记录
python·量化·vnpy
算法_小学生3 小时前
LeetCode 热题 100(分享最简单易懂的Python代码!)
python·算法·leetcode
230万光年的思念3 小时前
【无标题】
python
shengli7223 小时前
机器学习与人工智能
jvm·数据库·python
2301_765703143 小时前
Python迭代器(Iterator)揭秘:for循环背后的故事
jvm·数据库·python