转自:http://www.weidianyuedu.com/content/2912141328924.html
接触过其他语言的同学可能都知道算数运算符里面有个自增运算符++, 在写循环的时候非常常用, 但是Python里面可能会不同,需要引起大家注意。
请看以下Python代码
num = 1
++num
1num
1
Python居然不认识++运算符。
同理Python也不认识自减运算符–
num = 1
–num
1num
1
各位同学要注意啦!
如果大家需要自增运算, 只能老老实实的用变量赋值num = num + 1 这种方式了。
python 不使用 ++ 的哲学逻辑:编译解析上的简洁与语言本身的简洁
b = 1
a = 1
id(a)
372510id(b)
372510a is b
True
可以看出, Python 中,变量是以内容为基准而不是像 c 中以变量名为基准,所以只要你的数字内容是5,不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了 python 中一个变量可以以多个名称访问
这样的设计逻辑决定了 python 中数字类型的值是不可变的,因为如果如上例,a 和 b 都是 5,当你改变了 a 时,b 也会跟着变,这当然不是我们希望的。