Python UnboundLocalError: local variable 'xxx' referenced before assignment
程序员文章站
2024-02-17 14:21:40
...
目录:
UnboundLocalError: local variable ‘xxx’ referenced before assignment
参考链接地址:地址
解析:
UnboundLocalError: local variable ‘xxx’ referenced before assignment
在函数外部已经定义了变量n,在函数内部对该变量进行运算,运行时会遇到了这样的错误:
主要是因为没有让解释器清楚变量是全局变量还是局部变量。
错误案例:
+= 错误案例
-
正确的:
l=1 def add(): return l+1 print(add())
-
错误的:
l=1 def add(): l+=1 # 进行赋值操作了,所以l被转换成局部变量了 return l print(add())
l="abc" def add(): return l.upper()# 为什么list 调用 append可以, string 调用方法为什么不可以? # 因为 string 是不可变序列,所有都是copy update 在赋值,return的时候赋值回来的,所以又变当做局部变量了 print(add())
更正下:
- 觉得错误:
转载的作者,说list是默认全局的,所以list[0] 可以使用,但是我不敢苟同 - 自己意见:
list[0] 通过list引用,获取到列表对象(在堆里面),然后修改堆里面对象 地位为0的值,并没有去给list引用重新赋值 - 证明想法:
- 上图已经证明,子作用域,会继承上层作用域 ,全局作用域是独立空间
下一篇: php导入导出excel实例_PHP
推荐阅读
-
UnboundLocalError: local variable 'dst_sheet' referenced before assignment
-
Python UnboundLocalError: local variable 'xxx' referenced before assignment
-
【已解决】local variable 'form' referenced before assignment
-
python文件运行报错:UnboundLocalError: local variable 'status' referenced before assignment
-
pycharm 报黄(黄字、黄色)警告 Local variable 'xxx' might be referenced before assignment
-
每日BUG:UnboundLocalError: local variable ‘X‘ referenced before assignment
-
kolla-ansible部署中遇到UnboundLocalError: local variable ‘module_style‘ referenced before assignment问题和解决
-
Python | local variable 'xxxx' referenced before assignment
-
_markupbase.py if not match: UnboundLocalError: local variable 'match' referenced before assignment,分析Python 库 html.parser 中存在的一个解析BUG
-
【ROS-Error】 Can't convert image: local variable ‘pil_mode‘ referenced before assignment