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

相关推荐
koo3644 分钟前
pytorch环境配置
人工智能·pytorch·python
程序员杰哥3 小时前
Python自动化测试之线上流量回放:录制、打标、压测与平台选择
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·压力测试
吴佳浩3 小时前
LangChain v1 重大更新讲解⚠⚠⚠
python·langchain·agent
顾安r5 小时前
11.20 开源APP
服务器·前端·javascript·python·css3
萧鼎6 小时前
Python PyTesseract OCR :从基础到项目实战
开发语言·python·ocr
没有bug.的程序员7 小时前
Java 字节码:看懂 JVM 的“机器语言“
java·jvm·python·spring·微服务
下午见。9 小时前
Python基础入门:用Anaconda搭建环境的启蒙之旅
python
我叫汪枫9 小时前
Python 办公自动化入门:玩转 Excel 与 Word
python·word·excel
E_ICEBLUE9 小时前
三步完成 Markdown 到 Word/PDF 的转换:Python 教程
python·pdf·word·markdown·格式转换
后台开发者Ethan11 小时前
LangGraph ReAct应用
python·langgraph