可能重复:
Python:递增和递减运算符的行为
>>> a=2
>>> ++a
2
>>> a++
Traceback ( File "<interactive input>", line 1
a++
^
SyntaxError: invalid syntax
>>> ++a
2
为什么 ++x 可以?
(我在问,因为有人在工作中习惯性地写了 ++i,它没有按(习惯性地)预期的那样做,但也没有抛出错误,所以花了一些时间来找到错误。)
可能重复:
Python:递增和递减运算符的行为
>>> a=2
>>> ++a
2
>>> a++
Traceback ( File "<interactive input>", line 1
a++
^
SyntaxError: invalid syntax
>>> ++a
2
为什么 ++x 可以?
(我在问,因为有人在工作中习惯性地写了 ++i,它没有按(习惯性地)预期的那样做,但也没有抛出错误,所以花了一些时间来找到错误。)
它的意思是+(+a)
,即与的意思相反-(-a)
(虽然显然在这种情况下,结果是一样的!)
请参阅http://docs.python.org/library/stdtypes.html#numeric-types-int-float-long-complex。
它相当于+(+a)
:
>>> +-2
-2
>>> -+2
-2
>>> --2
2
>>> ++++-2
-2
Python 的可能重复项:递增和递减运算符的行为。
尽管我无法找到有关操作员确切推理的文档,但我将在链接问题中引用已接受答案的一部分,我认为是这种情况:
- 更简单的语言。++ 只不过是 += 1 的同义词。它是一种简写,因为 C 编译器很愚蠢,不知道如何将 += 1 优化为大多数计算机具有的 inc 指令。在优化编译器和字节码解释语言的今天,向一种语言添加运算符以允许程序员
优化他们的代码通常是不受欢迎的,尤其是在像 Python 这样的设计为一致和可读的语言中。