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后面这个具体形式的解决方案,故放上自己的思考过程作为参考。也是一种记录。觉得简单的大佬轻喷。

相关推荐
覆东流21 分钟前
python安装与使用
开发语言·python
玉笥寻珍1 小时前
数字政务安全实战:等保2.0框架下OA系统防护全解析
python·安全·政务
瓦力wow6 小时前
python 绘制3D平面图
开发语言·python·3d·matplotlib
Yu_Mao_Cat7 小时前
数独求解器3.0 增加latex格式读取
开发语言·python·算法
豆约翰7 小时前
c#和python互操作实现排序算法可视化
python·c#·排序算法
inksci8 小时前
Python web 开发 Flask HTTP 服务
python·flask
熊猫在哪9 小时前
野火鲁班猫(arrch64架构debian)从零实现用MobileFaceNet算法进行实时人脸识别(一)conda环境搭建
linux·人工智能·python·嵌入式硬件·神经网络·机器学习·边缘计算
满怀10159 小时前
【Python中的Socket套接字详解】网络通信的核心基石
开发语言·网络·python·网络编程·socket
pk_xz1234569 小时前
Python程序实现了一个完整的车辆信息查询系统
开发语言·python·opencv
Stuomasi_xiaoxin9 小时前
FFmpeg 超级详细安装与配置教程(Windows 系统)
python·深度学习·ai·ffmpeg