Python 中的多重赋值和求值顺序
在 Python 中,多重赋值是一种常见的做法,即同时为多个变量赋值。然而,此类作业中的求值顺序可能会产生意想不到的后果。
问题
考虑以下代码:
在此之后赋值时,x 和 y 的值为:
这与人们的预期不同如果赋值是单独完成的:
解释
由于赋值语句中的求值顺序而产生差异。在 Python 中,在对变量进行实际赋值之前,首先计算赋值的右侧。
在第一个示例中,当我们赋值 x, y = y, x y 时,右侧 -手边的评估如下:
然后,x 被分配为 ham 的值(2),y 被分配为 spam 的值(3)。这就是为什么我们得到结果 x = 2 和 y = 3。
相比之下,在第二个示例中,x 首先被赋予 y 的值,即 2。然后,y 被赋予以下总和: x (2) 和 y (2),结果为 4。
以上是Python 的多重赋值如何影响变量求值顺序?的详细内容。更多信息请关注PHP中文网其他相关文章!