是否使用两个加法运算符在python中添加两个有效的整数?

Is using two addition operators for adding two integers valid in python?

本问题已经有最佳答案,请猛点这里访问。

我刚开始学Python。我只是想玩打印功能。最后我写了下面的代码。

1
print(2 ++ 2)

我期望Python解释器抛出一个错误,因为我将两个加法运算符放在一起,而不在它们之间放置一个整数。相反,python解释器没有抛出任何错误,返回4作为输出。我还尝试了以下代码:

1
print(4 -- 2)

产量是6。

有人能给我解释一下这些吗?


2 ++ 2interpreted as is:P></

1
2 ++ 2 == 2 + (+2)

我知道你做2安布尔在+2烯丙基between the second is an +thus加一元。如果你能写2 +++ 2一样:P></

1
2 +++ 2 == 2 + (+(+2))

房屋发生4 -- 2something for the相似:P></

1
4 -- 2 == 4 - (-2)

我知道你在6subtract -2from 4导致。P></

用二,三(或是更多)保留additions is not,but only for integers /浮动EN结果在听到你更多,更好的Do not do this。P></

there are that定义他们自己classes元加一元算子(类和小矮星Counterfor instance)。在那家++can have a different +行为比。我知道你更好的使用++Do not(如果你把太空,让两+ses between the显that the second is a different +operator)。P></

自从there are元加和减算子,after the first +anything is as或-interpreted元。我会在0since:2 ++--++- 2resultP></

1
2 ++--++- 2 == 2 + (+(-(-(+(+(-2))))))

1
2 ++ 2

isP></

1
2 + (+2)

布尔P></

1
4 -- 2

isP></

1
4 - (-2)

这只是问题的算子值优先,fixity,和差距:P></

1
2
2 ==+-+-+ 2
#>>> True

已知一元数字的字头+for that,is和as the identity函数定义,定义-prefix is as negation元(which means that在双元身份--prefix is the function);但我知道overloading Python supports社,there is that this is true for不担保的对象。P></