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

相关推荐
看海天一色听风起雨落3 分钟前
Python学习之装饰器
开发语言·python·学习
XiaoMu_00132 分钟前
基于Python+Streamlit的旅游数据分析与预测系统:从数据可视化到机器学习预测的完整实现
python·信息可视化·旅游
THMAIL35 分钟前
深度学习从入门到精通 - 生成对抗网络(GAN)实战:创造逼真图像的魔法艺术
人工智能·python·深度学习·神经网络·机器学习·生成对抗网络·cnn
我没想到原来他们都是一堆坏人2 小时前
(未完待续...)如何编写一个用于构建python web项目镜像的dockerfile文件
java·前端·python
总有刁民想爱朕ha3 小时前
车牌模拟生成器:Python3.8+Opencv代码实现与商业应用前景(C#、python 开发包SDK)
开发语言·python·数据挖掘
人衣aoa3 小时前
Python编程基础(八) | 类
开发语言·python
大模型真好玩4 小时前
深入浅出LangGraph AI Agent智能体开发教程(四)—LangGraph全生态开发工具使用与智能体部署
人工智能·python·mcp
百锦再4 小时前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame
掘技术4 小时前
十个 Python 案例分享
python
ZZHow10246 小时前
02OpenCV基本操作
python·opencv·计算机视觉