1

可能重复:
Python:递增和递减运算符的行为

>>> a=2
>>> ++a
2
>>> a++
Traceback (  File "<interactive input>", line 1
    a++
      ^
SyntaxError: invalid syntax
>>> ++a
2

为什么 ++x 可以?

(我在问,因为有人在工作中习惯性地写了 ++i,它没有按(习惯性地)预期的那样做,但也没有抛出错误,所以花了一些时间来找到错误。)

4

3 回答 3

8

它的意思是+(+a),即与的意思相反-(-a)(虽然显然在这种情况下,结果是一样的!)

请参阅http://docs.python.org/library/stdtypes.html#numeric-types-int-float-long-complex

于 2012-06-26T14:47:01.580 回答
3

它相当于+(+a)

>>> +-2
-2
>>> -+2
-2
>>> --2
2
>>> ++++-2
-2
于 2012-06-26T14:48:52.760 回答
1

Python 的可能重复项:递增和递减运算符的行为

尽管我无法找到有关操作员确切推理的文档,但我将在链接问题中引用已接受答案的一部分,我认为是这种情况:

  • 更简单的语言。++ 只不过是 += 1 的同义词。它是一种简写,因为 C 编译器很愚蠢,不知道如何将 += 1 优化为大多数计算机具有的 inc 指令。在优化编译器和字节码解释语言的今天,向一种语言添加运算符以允许程序员
    优化他们的代码通常是不受欢迎的,尤其是在像 Python 这样的设计为一致和可读的语言中。
于 2012-06-26T14:48:49.960 回答