SyntaxError:意外令牌' print'

时间:2014-10-14 14:02:04

标签: python ironpython

以下代码在IDLE [2.7.8(默认,2014年6月30日,16:03:49)[MSC v.1500 32位(英特尔)]]中正常运行:

x = 5
if True:
   pass
   x=6
else:
   x=7
print x

但是在IronPython [' 2.7.3(.NET 4.0.30319.34014(64位)上的IronPython 2.7.3(2.7.0.40)]]中,最后一行给出SyntaxError: unexpected token 'print'

我在两个系统中复制并粘贴了相同的文本行,因此它们应该是相同的,包括任何不可见的字符。

可能是什么原因?

3 个答案:

答案 0 :(得分:2)

如果您在Microsoft Visual Studio上拥有它,那么您似乎必须在print中拥有任何()命令。 所以,例如:

print (dictionary_name['notreal'])

print (x)

答案 1 :(得分:1)

这是交互式解释器的一个怪癖,与Ironpython和常规Python无关。如果将代码保存在文件中并运行它,它将适用于任何Python。

以下是一个显示错误的简短示例:

>>> if False:
...      pass
... pass
  File "<stdin>", line 3
    pass
       ^
SyntaxError: invalid syntax

使用交互式解释器时,必须以空行结束多行语句,如下所示:

>>> if False:
...     pass
... 
>>> pass
>>> 

答案 2 :(得分:0)

如果您在VS代码中使用python,请始终提醒自己在括号中输入print命令。 打印()。应该可以的!