PyCharm提示“ foo”可以未定义,但是如何?

问题描述 投票:1回答:2

我正在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分支从未执行过,但是现在这无关紧要。

感谢您的帮助!

python for-loop pycharm undefined break
2个回答
0
投票

myNumbers = [0, 1, 2] for val in myNumbers: if val == 1: foo = 1 break else: foo = 2 print( "Foo is: ", foo)

您忘记了()

它说foo不能被定义,因为不能在代码中写“ foo”

您需要说出它应该怎么做。 :)

所以:提醒:

print()


0
投票

可能是Python 3+,您错过了print()函数中的括号。

    myNumbers = [0, 1, 2]
    for val in myNumbers:
     if val == 1:
      foo = 1
      break
     else:
      foo = 2
    print("Foo is: ", foo)
© www.soinside.com 2019 - 2024. All rights reserved.