为啥 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 返回命名空间而不是字典? [关闭]

为啥 Spring Boot Actuator 返回 404 而不是 401?

当返回类型是表名时,为啥 PostgreSQL 函数返回空列而不是没有行?