>>> a=3
>>> a+2.0
5.0
>>> a=a+1.0
>>> a
4.0
无法理解为什么4.0即将到来。我认为6.0应该是答案。请解释为什么结果是 4.0。
在第二行a+2.0
,你没有修改 的值a
,所以第三行仍然a
是预期的。3
a+1.0
4.0
如果你仔细看,你并没有分配你的表达式的结果:
a+2.0
肯定是 5.0 打印出来的,但是 a 没有改变,因为没有分配(a=a+2.0)
给 a
您没有将a+2.0
back 的结果分配给a
,因此当您随后这样做时a=a+1.0
,a
仍设置为3
。
其他人已经直接回答了你的问题。这是在提示下工作时要考虑的另一件事。
>>> a=3 # assignment does not update '_'
>>> a # have to ask for the value of 'a' so it ends up in '_'
3
>>> _ + 2.0
5.0
>>> _ + 1.0
6.0
您始终可以使用“_”,表示“最后一个结果的值”。