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