首先我们要知道,python不同于C,在python中不存在i++或者i--,若要使i实现自递增或者递减可以使用(递减同理)
i=1
i += 1;
# 或者i=i+1
print(i);
原因
在python模型中规定,数值对象是不可改变的,i=i+1相当于重新创造了一个新的变量,并未改变刚开始中i的值,只是将递增后的值赋值给了一个新的变量i,使新的变量名调用了新数值的对象
such as
a=10;
b=10;
print(id(a));
print (id(b))
print(a is b);
运行结果
140718469411912
140718469411912
True
给a赋值10,给b赋值10。虽然变量名不同,但它们本质都是调用了10,而10在机器中的位置是不变的。
如果使用a = a +1 ,就会发现当前a 的id位置已经改变,变成了11在机器中的位置,而在其他语法中++自增和--自减的本质是直接改变对象本身。
such as
a=10;
b=10;
print(id(a));
print (id(b))
print(a is b);
a += 1;
d=11;
print(id(a));
print(a is d);
运行结果
140718466200648
140718466200648
True
140718466200680
True