有关a = b = c的工作原理的详细信息

问题描述 投票:0回答:1

从答案:How do chained assignments work?,我知道x = y = some_function()等效于:

temp = some_function()
x = temp
y = temp

但是它也等同于:

x = some_function()
y = x

或有微小差异吗?如果是这样,有什么区别?

python variable-assignment equality
1个回答
0
投票

[将变量分配给相同数量的变量,而不是典型的:

x = 0
y = 0

或使用元组拆包方法:

(x,y) = 0,0

您可以随心所欲(链接的作业):

x = y = 0

这可以与RHS的任何对象(被调用)一起使用,并且:

x = y = some_object() 

与:相同

tmp = some_object()
x = tmp
y = tmp

并且当您del tmp时,xy变得无用或无用。

© www.soinside.com 2019 - 2024. All rights reserved.