1

在 Python 中,关键字like引入了一个新的范围。其他人,喜欢或​​不喜欢 - 他们使用封闭代码的范围。(范围解析在范围规则的简短描述中进行了解释?。)defclassiffor

在这两种不同类型的关键字下“缩进”的代码行的正确术语是什么?

例子:

def foo():
    do_bar() # indent type 1
    do_another_bar() # indent type 1

示例 2:

if True:
    do_something() # indent type 2
    do_more_things() # indent type 2

缩进“类型 1”和“类型 2”都称为“代码”吗?

4

2 回答 2

2

复合语句和套件

Python 中复合语句的语法将缩进的代码块定义为“套件”。例如:

if_stmt ::=  "if" expression ":" suite
             ( "elif" expression ":" suite )*
             ["else" ":" suite]

因此,在一个实际示例中,例如:

if True:
    print "It's true!"

包含打印语句的行(以及该缩进级别内的任何其他行)将是一个套件。

如果将每个缩进级别视为一个代码块会有所帮助,那很好。但是,Python 语法将其称为套件。:)

于 2013-02-22T17:12:29.387 回答
2

一般来说,是的,在 a 下缩进的任何文本部分<keyword-clause>:都称为“块”。

C/C++/Java/JavaScript/Perl/PHP/etc 中花括号内的任何文本部分也是如此。缩进是 Python 的花括号。

于 2013-02-22T17:02:56.947 回答