有人可以在下面的代码中给我一个简短的解释原因,取消注释param = "oops"
导致UnboundLocalError: local variable 'param' referenced before assignment
,而没有该赋值语句可以避免错误。在这两种情况下,nestedFun都是从封闭函数访问变量。
def fun(param):
def nestedFun():
if param is None:
print("something")
else:
#param = "oops"
print(param)
nestedFun()
fun("test")