为什么可以在内嵌函数中引用主函数变量,但是有时却报错
def showA():
a = 'A'
b = 'B'
print (a)
def showB():
b = b
print (b)
showB()
showA()
为什么会提示UnboundLocalError: local variable ‘b’ referenced before assignment
? 但是我只在 showB()里面打印 b是正常的?
说明在 showB()里面可以访问showA中的b变量。为什么会报错?
我知道可以加 nonlocal解决, 但是就是不理解。
关于 LearnKu
以上代码缩排明显有问题, 暂不考虑.
因为变量有写入的动作, 所以该变量被视为局部变量, 因此在读取
b时就会出现未设置值前参考使用问题.