Python:在Python中设置两个用逗号分隔的变量值

Python: setting two variable values separated by a comma in python

python之间的区别是什么:

1
a, b = c, max(a, b)

1
2
a = c
b = max(a, b)

在同一行上设置两个变量分配有什么作用?


您的两个代码段执行不同的操作:尝试将abc分别等于789

第一个代码段将三个变量设置为989。 换句话说,在将a分配给c的值之前计算max(a, b)。 本质上,a, b = c, max(a, b)所做的只是将两个值压入堆栈。 然后弹出的变量ab会被分配给这些值。

另一方面,运行第二个代码段会将所有三个变量设置为9。 这是因为在进行功能调用max(a, b)之前,a被设置为指向c的值。


他们是不同的。 第二个就像

1
a, b = c, max(c, b)

因为您要在b = max(a, b)之前将c分配给a。 第一个使用旧值a进行计算。