本帖最后由 wp231957 于 2020-2-9 16:56 编辑
是这样的 看这个代码:
- def aa():
- var=5
- def bb():
- print(var)
- bb()
-
- aa()
复制代码
这个代码可以正常执行
再看这个代码
- def aa():
- var=5
- def bb():
- var=6
- print(var)
- bb()
-
- aa()
复制代码
这段代码也能执行
再看这个代码
- def aa():
- var=5
- def bb():
- print(var)
- var=6
- print(var)
- bb()
-
- aa()
复制代码
Traceback (most recent call last):
File "3.py", line 10, in <module>
aa()
File "3.py", line 7, in aa
bb()
File "3.py", line 4, in bb
print(var)
UnboundLocalError: local variable 'var' referenced before assignment
为什么这个代码就无法运行了呢:
因为 :
始终要明白一个事情,这3段代码中 外var 和内var 都是两个不同的东东
第三个代码中 存在var这个变量 却是 未赋值,先使用 所以报错