在 python 中, ++x 是正确的语法。 “++x”是啥意思? [复制]
Posted
技术标签:
【中文标题】在 python 中, ++x 是正确的语法。 “++x”是啥意思? [复制]【英文标题】:in python, ++x is correct syntax. What does "++x" mean? [duplicate]在 python 中, ++x 是正确的语法。 “++x”是什么意思? [复制] 【发布时间】:2012-06-27 22:08:13 【问题描述】:可能重复:Python: Behaviour of increment and decrement operators
>>> a=2
>>> ++a
2
>>> a++
Traceback ( File "<interactive input>", line 1
a++
^
SyntaxError: invalid syntax
>>> ++a
2
为什么 ++x 可以?
(我问是因为有人在工作中习惯性地写了 ++i,它没有按(习惯性地)预期的那样做,但也没有抛出错误,所以花了一些时间找到错误。)
【问题讨论】:
norvig.com/python-iaq.html 【参考方案1】:意思是+(+a)
,即与-(-a)
的意思相反(虽然显然在这种情况下,结果是一样的!)
见http://docs.python.org/library/stdtypes.html#numeric-types-int-float-long-complex。
【讨论】:
+(+a)
其实不是-(-a)
的反义词,是一样的:-)
因此可以写 ------------a 和 +++++++++++++++++a。谢谢。【参考方案2】:
相当于+(+a)
:
>>> +-2
-2
>>> -+2
-2
>>> --2
2
>>> ++++-2
-2
【讨论】:
【参考方案3】:Python: Behaviour of increment and decrement operators 可能重复。
虽然我找不到有关操作员确切推理的文档,但我会在链接问题中引用已接受答案的一部分,我认为是这样:
更简单的语言。 ++ 只不过是 += 1 的同义词。它是一种速记发明,因为 C 编译器很愚蠢并且没有 知道如何将 += 1 优化到大多数计算机的 inc 指令中 有。在优化编译器和解释字节码的今天 语言,向语言添加运算符以允许程序员 优化他们的代码通常是不受欢迎的,尤其是在一种语言中 就像 Python 一样,旨在保持一致和可读性。
【讨论】:
以上是关于在 python 中, ++x 是正确的语法。 “++x”是啥意思? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
在 python 中,将函数用作类的属性的正确语法是啥? [关闭]