def test(a):
if a>1:
x=0
elif a<1:
y=1
else:
x=2
print(x)
return 0
为什么test(2)
可以,但test(0)
会引发以下错误?
赋值前引用的局部变量“x”
我猜想当 test(2)
x
被定义时,但是运行 test(0)
x
是没有定义,但还想了解更多原因
最佳答案
你自己已经回答了。如果a
是 0,则elif a<1
是真的,所以只有y
被定义。
关于func 中的 Python 局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51666000/