2017-05-26 41 views
-1

python運算符=-是做什麼的?我不是在問關於-=的運營商,我知道它是x = x - value的簡寫。python operator = - 做什麼?

+1

你測試過了嗎?把它分解下來,不要把它想象成1個算子,而是兩個:=和 - 。因此'x = - x'將x作爲數字否定。 – Li357

+0

@Roberto你是什麼意思「無效的Python語法」?這完全有效。 – Li357

+0

我可以發誓,這是一個騙局...... – timgeb

回答

7

其實,運營商=-不存在。它只是= (- value)。所以價值的負面。

例子:

>>> x =- 1 
>>> x 
-1 
+1

是的,'x = - 1'看起來很奇怪。 – timgeb

2

爲什麼不考呢?

In [11]: x = 1 

In [12]: y = 2 

In [13]: y=-x 

In [14]: y 
Out[14]: -1 

正如你可以看到它什麼都不做,但設置變量的右手邊

0

沒有=-運營商爲負值。根據情況,這可能是兩個操作員,例如, x =- y相當於x = (-y)(所以有兩個運營商:分配和否定)具有負常數賦值:x =- 1相當於x = (-1)(在這種情況下-不是一個運營商,它只是一個負常數)。

+0

@timgeb https://github.com/python/cpython/blob/918403cfc3304d27e80fb792357f40bb3ba69c4e/Objects/longobject.c#L2137正如你可以看到'-'被直接解析,常量沒有'__neq__'調用。 – freakish