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-- 的。