我刚开始用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。感谢一些建议。
答案 0 :(得分:4)
IDLE Shell一次只能解析一个代码块。函数定义和函数调用被视为不同的“块”,因此您需要在函数定义后再次按Enter键将它们分开。
>>> def f(x):
return x*2
>>> f(3)
6
请注意,此上下文中的“块”基本上只是一行代码,或者是缩进的任何代码,前面是以冒号(:
)结尾的行。
就像@Duncan所提到的那样,只有在交互式shell中才需要空白行 - 它需要知道块中是否还有更多内容,或者您已完成并且希望代码运行。在普通的.py
文件中,空白行无关紧要,因为解释器将知道该怎么做,因为代码已经完整地写入了。