我正在PyCharm中使用Python,并且遇到了一个奇怪的提示IMO。
下面是一个简单的例子:
myNumbers = [0, 1, 2]
for val in myNumbers:
if val == 1:
foo = 1
break
else:
foo = 2
print "Foo is: ", foo
在最后一行,对于变量“ foo”,PyCharm说“名称'foo'可以未定义”。
我想知道为什么以及如何?在那种情况下可能会发生?
[我知道特别是此代码段“ foo”始终为1,并且else分支从未执行过,但是现在这无关紧要。
感谢您的帮助!
myNumbers = [0, 1, 2]
for val in myNumbers:
if val == 1:
foo = 1
break
else:
foo = 2
print( "Foo is: ", foo)
您忘记了()
它说foo不能被定义,因为不能在代码中写“ foo”
您需要说出它应该怎么做。 :)
所以:提醒:
print()
可能是Python 3+,您错过了print()函数中的括号。
myNumbers = [0, 1, 2]
for val in myNumbers:
if val == 1:
foo = 1
break
else:
foo = 2
print("Foo is: ", foo)