0
>>> def f(x):
...     print x
... f('hello')
  File "<stdin>", line 3
    f('hello')
    ^
SyntaxError: invalid syntax
>>> 

我在 Python shell 中的提示符下。为什么上面的代码不起作用?

4

2 回答 2

5

在“print x”之后输入一个空行。通常,...提示表示 Python 期望当前块的进一步输入,在本例中为 function f

正如 Iguananaut 所指出的,与标准 Python shell 相比,IPython 具有出色的编辑功能,例如选项卡自动完成。

于 2012-12-12T18:44:51.080 回答
2

您需要在最后一行之后按两次 Enter 键才能返回>>>提示,在这种情况下您可以输入新的表达式。

此外,如果你打算在解释器中输入大量多行表达式,你应该看看IPython(现在有资金支持!)。它支持更好地编辑多行语句,如果您使用 qtconsole 或笔记本,效果会更好。

于 2012-12-12T18:44:36.137 回答