Python中的无效语法错误

Python中的无效语法错误,python,syntax-error,Python,Syntax Error,今年秋天,我将开始在大学学习Comp-Sci课程(从零编程知识开始),所以我才刚刚开始玩编程。我在看一本书,并试图复制粘贴一些代码-但它不起作用。以下是我尝试过的: >>> def function(x): return x+2 function(2) SyntaxError: invalid syntax 突出了“功能”一词。我很困惑,因为书中使用了同一个例子,它似乎是有效的,但后来我发现了这个错误。这是怎么回事?我想你是想把Python放在标题中。Python有有

今年秋天,我将开始在大学学习Comp-Sci课程(从零编程知识开始),所以我才刚刚开始玩编程。我在看一本书,并试图复制粘贴一些代码-但它不起作用。以下是我尝试过的:

>>> def function(x):
    return x+2
function(2)
SyntaxError: invalid syntax

突出了“功能”一词。我很困惑,因为书中使用了同一个例子,它似乎是有效的,但后来我发现了这个错误。这是怎么回事?

我想你是想把Python放在标题中。Python有有趣的语法规则,在解析程序时,它实际上将空格视为有意义的。我的意思是,有额外的空间、换行符或标签等实际上改变了程序的意义。仔细检查图书示例,确保编写的语法完全相同(制表符、新行和全部)。它可能更接近这一点:

def f(x):
    return x + 2
注意新行和选项卡。要调用此函数,请在另一行上说:

f(5)
或者用您想要的任何参数替换5

编辑:

>>> def square(input):
    output=input*input
    return output
print square(5)
>>> def square(input):
    output=input*input
    return output

>>> print square(3)
9
因此,完整的脚本应该是:

def f(x):
    return x + 2

f(2)

您需要将函数定义与其执行分开。此外,Python对行开头的空格很敏感。试试这个(确切地说):

或者,在一行中(您不应该这样做;请参阅):

或者,在Python shell中:

>>> def function(x):
    return x+2

>>> function(2)
4

注意函数定义及其用法之间的空行。定义函数后,按一下enter键返回提示。

这是为使用Python 2.6.6和IDLE 2.6.6的用户准备的

由于Python解释器对空格和缩进非常敏感,因此我们需要将函数声明与执行分开

你必须做的事情:

>>> def square(input):
    output=input*input
    return output
print square(5)
>>> def square(input):
    output=input*input
    return output

>>> print square(3)
9
输出:语法错误:无效语法

正确的方法:

>>> def square(input):
    output=input*input
    return output
print square(5)
>>> def square(input):
    output=input*input
    return output

>>> print square(3)
9
试试这个:

def function(x):
    return x+2
function(5)
在python中,缩进非常重要。它们是python世界的
{}


实际上,您不需要在
函数(5)
之前添加额外的空格,因为python知道不在函数定义中包含它,因为它没有缩进。添加额外的空行仍然是很好的做法,但严格来说并不是必需的。

是的,与此完全相同,但它突出显示“f”作为语法错误。我没有缩进“f(5)”,但它看起来就像它应该是这样的,所有其他的空格也被正确地放置,。。这太疯狂了,祝你好运!知道在哪里寻求帮助是一个很好的开始,堆栈溢出有很多帮助。我建议阅读现有的问题,看看其他人是如何使用该语言的,并了解Python代码的外观。我建议在这里主要使用互联网来自学编程。在那里学习并完成教程。这就是我学习的方式,我怀疑很多其他人经常访问这个网站。python脚本的情况是正确的,但问题中的
>
表明提问者正在REPL中执行语句。在这种情况下,在使用函数之前,需要一个空行来结束上一条语句并开始一条新语句。