Python UnboundLocalError和NameError错误根源解析
Python UnboundLocalError和NameError错误根源解析
如果代码风格相对而言不是那么的Pythonic,或许很少碰到这类错误。当然并不是不鼓励使用一些python语言的技巧。如果遇到这这种类型的错误,说明我们对python中变量引用相关部分有不当的认识和理解。而这又是对理解python相关概念比较重要的。这也是本文写作的原因。
本文为理解闭包相关概念的做铺垫,后续会详细深入的整理出闭包相关的博文,敬请关注。
1.案例分析
在整理闭包相关概念的过程中,经常发现UnboundLocalError和NameError这两个错误,刚开始遇到的时候可能很困惑,对这样的错误无从下手。
1.1 案例一:
def outer_func():
loc_var = "local variable"
def inner_func():
loc_var += " in inner func"
return loc_var
return inner_func
clo_func = outer_func()
clo_func()
错误提示:
Traceback (most recent call last): File "G:\Project Files\Python Test\Main.py", line 238, https://www.linuxboy.net/topicnews.aspx?tid=17linuxboy的RSS地址:https://www.linuxboy.net/rssFeed.aspx
本文永久更新链接地址:https://www.linuxboy.net/Linux/2020-02/162395.htm
评论暂时关闭