请帮助我理解Python 3上的输出

时间:2018-10-02 07:59:51

标签: python python-3.x operators

下面有这段代码,为其生成的输出为17 5,但我无法弄清楚为什么在最终解释后x的值为17而不是18。请帮助我理解其背后的逻辑

x,y=7,2
x,y,x=x+1,y+3,x+10
print(x,y)

生成的输出为:17 5 为什么不18 5

1 个答案:

答案 0 :(得分:2)

第一行之后,x为7,y为2。

在第二行中,您将x,y,x设置为x+1,y+3,x+10

对右边的表达式求值,得到8,5,17

您将8分配给x,将5分配给y,将17分配给x

因此,最后是x==17y==5