所有功劳归@MarkDickinson,后者在评论中回答了此问题:
请注意
+in中(target_list "=")+,它表示一个或多个副本。在中foo = bar = 5,有两个(target_list"=")作品,而expression_list部分只是5
赋值语句中的所有
target_list产生式(即看起来像的东西
foo=)在被评估
expression_list后,
expression_list会从左到右分配到语句的右端。
当然,通常的“ tuple-unpacking”赋值语法也可以在这种语法下工作,让您可以执行以下操作
>>> foo, boo, moo = boo[0], moo[0], foo[0] = moo[0], foo[0], boo[0] = [0], [0], [0]>>> foo[[[[...]]]]>>> foo[0] is booTrue>>> foo[0][0] is mooTrue>>> foo[0][0][0] is fooTrue



