1

我刚刚开始学习用 Python 编码。我按照Coursera教程中的说明进行操作,但在 Python 中定义基本函数时遇到了问题。

我的代码如下:

>>> 
>>> def f(x):
    return x*2
f(3)
SyntaxError: invalid syntax
>>> 
>>> 

我正在使用以下 Python 包:

Python 3.3.0 (v3.3.0:bd8afb90ebf2, Sep 29 2012, 01:25:11) [GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] 在 darwin

本教程中显示的相同代码似乎在使用 Python 3.2.3 时运行良好。欣赏一些建议。

4

1 回答 1

4

IDLE Shell 一次只能解析一个代码块。函数定义和函数调用被视为不同的“块”,因此您需要将它们分开,方法是在函数定义后再次按 Enter 键。

>>> def f(x):
    return x*2

>>> f(3)
6

请注意,此上下文中的“块”基本上只是一个独立的代码行,或者任何缩进并以冒号 ( :) 结尾的行开头的代码。

就像@Duncan 提到的那样,空行仅在交互式外壳中是必需的 - 它需要知道该块是否还有更多内容,或者您​​已经完成并且您希望代码运行。在普通.py文件中,空行无关紧要,因为解释器会知道要做什么,因为代码已经完整地编写了。

于 2013-03-11T08:55:24.710 回答