下面有这段代码,为其生成的输出为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
答案 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==17
和y==5
。