无法在Python中定义基本函数

时间:2013-03-11 08:52:02

标签: python function

我刚开始用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)(第3点)]

教程中显示的相同代码似乎正常工作,其中使用的是Python 3.2.3。感谢一些建议。

1 个答案:

答案 0 :(得分:4)

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

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

>>> f(3)
6

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

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