使用逗号标记将表达式的组合以创建元组称为
expression_list。运算符优先级规则不涵盖表达式列表;这是因为表达式列表本身不是表达式;当用括号括起来时,它们成为表达式。
所以,一个未封闭
expression_list被允许在Python,它是具体由语言的语法允许的任何地方,但 不是
在那里的
expression,因此是必需的。
例如,if语句的语法如下:
if_stmt ::= "if" expression ":" suite ( "elif" expression ":" suite )* ["else" ":" suite]
因为
expression引用了生产,
expression_list所以不允许将未封闭的s作为
if语句的主题。但是,for语句接受
expression_list:
for_stmt ::= "for" target_list "in" expression_list ":" suite ["else" ":" suite]
因此,允许以下内容:
for x in 1, 2, 3: print(x)



