La combinaison des expressions pour créer un tuple à l'aide de la virgule jeton est appelé" expression_list
. Les règles de priorité des opérateurs ne couvrent pas les listes d'expressions; c'est parce que l'expression listes ne sont pas eux-mêmes expressions; elles deviennent des expressions lors de la mise entre parenthèses.
Donc, un unenclosed expression_list
est autorisé partout en Python qu'il est expressément autorisé par la langue, de la grammaire, mais pas lorsqu'un expression
tant que tel.
Par exemple, la grammaire de l' instruction if est comme suit:
if_stmt ::= "if" expression ":" suite
( "elif" expression ":" suite )*
["else" ":" suite]
Parce que la production expression
est référencé, unenclosed expression_list
s ne sont pas autorisés en tant que sujet de l' if
déclaration. Toutefois, la déclaration d' acceptation d'une expression_list
:
for_stmt ::= "for" target_list "in" expression_list ":" suite
["else" ":" suite]
Donc la suite est autorisé:
for x in 1, 2, 3:
print(x)