3 回答
TA贡献2051条经验 获得超10个赞
++
+
+
+
-
++
++count
+(+count)
count
+=
count += 1
++
--
更简单的解析。从技术上讲,解析 ++count
是模棱两可的,因为它可能是 +
,+
,count
(两元一元) +
(操作人员)-尽可能容易 ++
,count
(一元) ++
(操作员)这不是一个显着的句法歧义,但它确实存在。 更简单的语言。 ++
只不过是同义词 += 1
..这是一个速记发明,因为C编译器愚蠢,不知道如何优化 a += 1
进入 inc
大多数计算机都有指令。在优化编译器和字节码解释语言的今天,将运算符添加到允许程序员优化代码的语言中通常会遭到反对,特别是在Python这样的语言中,这种语言的设计是一致的和可读的。 令人困惑的副作用。语言中的一个常见错误 ++
运算符混淆了前后增量/递减运算符之间的差异(在优先级和返回值上),Python喜欢消除语言“gocha”-s。这个 的 毛茸茸的,而且很容易搞砸。
TA贡献1865条经验 获得超7个赞
b++
>>> b = 5>>> a = 5>>> id(a)162334512>>> id(b)162334512>>> a is bTrue
b = b + 1
b += 1
b
b+1
b
TA贡献1856条经验 获得超17个赞
+
+x
x.__pos__()
++x
x.__pos__().__pos__()
.
class ValueKeeper(object): def __init__(self, value): self.value = value def __str__(self): return str(self.value)class A(ValueKeeper): def __pos__(self): print 'called A.__pos__' return B(self.value - 3)class B(ValueKeeper): def __pos__(self): print 'called B.__pos__' return A(self.value + 19)x = A(430)print x, type(x)print +x, type(+x)print ++x, type(++x)print +++x, type(+++x)
添加回答
举报