在 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 中,将函数用作类的属性的正确语法是啥? [关闭]

Laravel 8.X Eloquent 中数据库迁移的正确外键约束语法是啥?

如何在python中正确使用函数及其语法?

python函数语法学习

python第一个程序出错

Python中嵌套if语句的正确语法是什么?