zoukankan      html  css  js  c++  java
  • Python中为什么没有++和–(自增/减)(转)

    Python中为什么没有++和–(自增/减)(转)

    Anubisi关注

    0.1922018.10.11 14:48:55字数 408阅读 7,786

    原文地址:http://blog.csdn.net/guang09080908/article/details/47273775(侵删)
    这两天看了一些网上各大互联网公司的面试题,发现腾讯特别喜欢考察++和–以及移位运算相关的内容。C++相对来说还是比较熟悉的,对于这类问题只要记住运算符的优先级一般问题不大。由于也会经常用Python,突然觉得Python中为什么没有自增自减运算符呢?
    比如python中有x += y这种形式的表达式,但是没有x++这样的。查了一些资料,发现+=是代表改变了变量,相当于重新生成了一个变量,把操作后的结果赋予这个新生成的变量。但是++的话代表改变了对象本身,注意是对象本省,而不是变量本身。这个对象指的是内存中存放基本类型的数据的地址所指的内容。而Python的模型规定,数值对象是不可改变的。
    比如下面这个例子:

    b = 5
    a = 5
    id(a)
    162334512
    id(b)
    162334512
    a is b
    True
    1
    2
    3
    4
    5
    6
    7
    8

    int理论上是每次赋值都创建一个新对象的。但是由于使用频繁,为了提升性能避免浪费,所有python有个 整数池,默认1~256的数字都属于这个整数池,这些每次赋值的时候,是取得池中的整数对象。但是其他的除外,如下所示:

    a = 257
    b = 257
    id(a)
    140397570652784
    id(b)
    140397570652736

  • 相关阅读:
    MongoDB中常用的find
    MongoDB文档的增删改操作
    我的notepad++
    MongoDB入门知识
    Python基础5-常用模块
    Python基础4
    Python基础3(2017-07-20)
    Python基础2(2017-07-18)
    Python基础1(2017-07-16)
    Python简介(2017-07-16)
  • 原文地址:https://www.cnblogs.com/grj001/p/12222955.html
Copyright © 2011-2022 走看看