然而,情况并不理想。python中只能使用类似于i++/i--的操作。python中的自增操作下面的代码是几乎所有程序员在python中进行自增(自减)操作的常用方法。>>>a=2>>>print(a)2>>>a+=1>>>print(a)3>>>a+=100>>>print(a)103>>>b='嗨'>>>b+=1Traceback(mostrecentcalallast):File"",line1,inTypeError:canonlyconcatenatestr(not"int")tostr>>>b+='data'>>>b'Hidata'上面的code中,由于+运算符也可以表示字符串的拼接,所以我们也可以在原来的基础上追加字符串。我们可以使用a++将a递增1吗?>>>a++File"",line1a++^SyntaxError:invalidsyntax结果是:不,Python在设计上不允许++“运算符”。++术语在C++/Java中称为增量运算符,在Python中没有位置。为什么Python不支持++操作?如果你想更详细地理解这一点,你需要有编程语言设计的背景。在Python中不包含++运算符的选项是一个设计决定。负责在Python语言中创建功能的人员认为没有必要引入CPP样式的增量运算符。【注】什么是CPP?所谓CPP其实就是C++。C++这个词在中国大陆的程序员圈子里通常读作“Cplusplus”,而“Cplusplus”这个词在西方程序员中通常读作“Cplusplus”。姿势当Python解释器从我们的输入中解析出a++符号时,它会按以下方式解释它:由于二元+运算符是加法运算符,因此a++将被视为a、+和+。但是Python期望在第一个+运算符之后有一个数字。所以它会在++上给出语法错误,因为第二个+不是数字。而++a是这样解释的:Python中的一元+运算符指的是恒等运算符。这只返回整数。这就是为什么它是整数的恒等运算。例如,+5的值为5,+-5的值为-5。这是一个一元运算符,应用于实数++a将被解析为+和+a,但第二个+a再次被视为(+a),因此,+(+(a))仅计算为a。所以即使我们想将a的值增加1,我们也不能使用++符号来完成,因为这样的运算符不存在。因此,我们必须为这个增量使用+=运算符。a+=1a-=1+=运算是如何工作的?您可能会认为,由于=符号,它可能是一个赋值语句。但是,这不是常规的赋值语句。这称为增强赋值语句。(正则赋值运算的加号版本)在正则赋值语句中,首先计算右侧,然后将其赋值给左侧。#2+3的结果为5,然后将结果5赋值给左边的引用a=2+3但是,在增强赋值语句中,是先运算左边,再计算右边。这样做是为了将更新后的值写入左侧。(具体的赋值内存分析会在后续文章中介绍)#读取a的值,然后原地加上3a+=3这是唯一不使用a=a+1这样的重赋值语句来增加变量的方法。但是,在这里,一般来说,选项无关紧要,因为解释器会在运行时优化代码。