繁体   English   中英

Python中的语法错误无效

[英]Invalid syntax error in Python

我将在今年秋天开始在Uni开始Comp Sci课程(从零编程知识开始),所以我只是开始玩编程。 我正在关注一本书并尝试复制粘贴一些代码 - 但它不起作用。 这是我试过的:

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

突出了“功能”一词。 我很困惑,因为书中使用了相同的例子,它似乎有效,但后来我得到了这个错误。 这里发生了什么?

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

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

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

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

或者,在Python shell中:

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

>>> function(2)
4

注意函数定义及其用法之间的空白行。 定义函数后,按Enter键一次以获得提示。

我假设你打算把Python放在标题中。 Python有一些有趣的语法规则,因为它在解析程序时实际上将空白空间视为有意义。 我的意思是拥有额外的空间,换行符或制表符等实际上改变了程序的含义。 仔细检查书中的示例,确保编写完全相同的(制表符,新行和所有)语法。 它可能看起来更接近这个:

def f(x):
    return x + 2

请注意新行和标签。 要调用此函数,请在另一行中说:

f(5)

或者用你想要的任何参数替换5。

编辑:

所以完整的脚本应该是:

def f(x):
    return x + 2

f(2)

尝试这个:

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

在python中,缩进很重要。 他们是蟒蛇世界的{}

实际上你不需要在function(5)之前添加额外的空格,因为python知道不将它包含在函数定义中,因为它没有缩进。 添加额外的空行仍然是一个好习惯,但并不是绝对必要的。

这适用于使用Python 2.6.6和IDLE 2.6.6的用户。

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

你必须做什么:

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

输出:SyntaxError:语法无效

正确的方法:

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

>>> print square(3)
9

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM