[原创] Python中的自增运算

clinken   2018-2-27 21:20 楼主

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

请看以下Python代码

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. >>> num = 1
  7. >>> ++num
  8. 1
  9. >>> num
  10. 1

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

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

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. >>> num = 1
  7. >>> --num
  8. 1
  9. >>> num
  10. 1

各位同学要注意啦!

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

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

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. >>> b = 1
  10. >>> a = 1
  11. >>> id(a)
  12. 372510
  13. >>> id(b)
  14. 372510
  15. >>> a is b
  16. True

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

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

本帖最后由 clinken 于 2018-2-27 21:22 编辑

回复评论 (1)

很好的总结
点赞  2018-2-27 23:23
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复