冯姜澎

Python 中没有 ++ 或 -- 自运算符

因为在 Python 里的数值和字符串之类的都是不可变对象,对不可变对象操作的结果都会生成一个新的对象。

比如:

a = 1
a += 1

在 C/java 之类的语言中,把 a 指向内存地址单元数据值由 1 改成了 2。

但是在 Python 中是完全不同的另一套机制。

解释器创建一个新的整数对象 2。

然后把这个对象的地址再次分配给 a。

见下面代码:

>>> id(1)
41116008L
>>> a = 1
>>> id(a)
41116008L
>>> id(2)
41115984L
>>>a += 1
>>> id(a)
41115984L
>>> 

所以在 Python 中不可能出现C/java 之类那种单独一行一个 i++i-- 的。