接触过其他语言的同学可能都知道算数运算符里面有个自增运算符++, 在写循环的时候非常常用, 但是Python里面可能会不同,需要引起大家注意。

请看以下Python代码

>>> num = 1
>>> ++num
1
>>> num
1

Python居然不认识++运算符。

同理Python也不认识自减运算符--

>>> num = 1
>>> --num
1
>>> num
1

各位同学要注意啦!

如果大家需要自增运算, 只能老老实实的用变量赋值num = num + 1 这种方式了。


python 不使用 ++ 的哲学逻辑:编译解析上的简洁与语言本身的简洁

>>> b = 1
>>> a = 1
>>> id(a)
372510
>>> id(b)
372510
>>> a is b
True

可以看出, Python 中,变量是以内容为基准而不是像 c 中以变量名为基准,所以只要你的数字内容是5,不管你起什么名字,这个变量的 ID 是相同的,同时也就说明了 python 中一个变量可以以多个名称访问

这样的设计逻辑决定了 python 中数字类型的值是不可变的,因为如果如上例,a 和 b 都是 5,当你改变了 a 时,b 也会跟着变,这当然不是我们希望的。


Python教程

2018-04-25


接触过其他语言的同学可能都知道算数运算符里面有个自增运算符++, 在写循环的时候非常常用, 但是Python里面可能会不同,需要引起大家注