为啥 x -= x + 4 返回 -4 而不是 4
Posted
技术标签:
【中文标题】为啥 x -= x + 4 返回 -4 而不是 4【英文标题】:why does x -= x + 4 return -4 instead of 4为什么 x -= x + 4 返回 -4 而不是 4 【发布时间】:2016-01-13 08:48:09 【问题描述】:python 新手,并试图与赋值运算符的细微之处较量。这是我的代码,然后是问题。
x = 5
print(x)
x -= x + 4
print(x)
上面的代码,第一次返回 5,但第二次打印时返回 -4。在我的脑海中,我觉得这个数字实际上应该是 4,因为我正在阅读这篇文章 x = x - x +4。但是,我知道这是错误的,因为 python 返回的是 -4 。如果有人能向我解释(简单来说,因为我是一个新手),我会很感激,因为我真的在这个桌子上敲了敲头。
【问题讨论】:
x-=x+4
表示5-(5+4)
【参考方案1】:
x -= x + 4
可以写成:
x = x - (x + 4) = x - x - 4 = -4
【讨论】:
谢谢!我意识到在我发布此消息后不久,但是...希望同一条船上的人会看到这个并且不会犯我的错误:P 当然,写成x = -4
会好很多。以上是关于为啥 x -= x + 4 返回 -4 而不是 4的主要内容,如果未能解决你的问题,请参考以下文章
为啥 editActionsForRowAt 返回很多图像而不是一张图像?
为啥 std::fstream 返回 void 而不是 bool
为啥 InputStream#read() 返回一个 int 而不是一个字节?
为啥 ArgumentParser 返回命名空间而不是字典? [关闭]