Python-从单行if语句继续

时间:2018-10-11 20:28:00

标签: python if-statement

例如
if test == 1: x = 1; y = 1; z = 2
是否可以在if语句中没有z = 2,而将其保持在同一行?只是想知道是否有一种方法,类似于\继续一行或;结束一行的方式。

1 个答案:

答案 0 :(得分:2)

分号仅作为简单语句的一部分出现在Python的语法中:

simple_stmt: small_stmt (';' small_stmt)* [';'] NEWLINE

一个简单语句出现的地方是 suite 的定义:

suite: simple_stmt | NEWLINE INDENT stmt+ DEDENT

套件是可以构成if语句主体的唯一且唯一的东西:

if_stmt: 'if' test ':' suite ('elif' test ':' suite)* ['else' ':' suite]

由此,我们可以得出结论,终止if语句主体的唯一方法是使用换行符或DEDENT令牌。由于DEDENT令牌只能与INDENT令牌一起出现,并且必须在换行符之后,因此您可以看到没有办法放置跟随和{{1 }}语句与if本身在同一行。