我似乎无法理解这种行为
此代码段之间有什么区别。
test = "jlsfkljds"
def foo():
if not test:
bar = "lskdjl"
if __name__ == '__main__':
foo()
哪个运行正常。
还有这个。
test = "jlsfkljds"
def foo():
if not test:
test = "lskdjl"
if __name__ == '__main__':
foo()
哪个返回此错误是因为“如果未测试:”
UnboundLocalError: local variable 'test' referenced before assignment
在我看来,似乎先在文件中定义了test,然后函数在if语句中引用了test的该实例,并在主体内为其分配了新值。但这似乎是错误的。
有人可以向我解释吗?