美文网首页
python中小整形对象缓存

python中小整形对象缓存

作者: 羽煊 | 来源:发表于2017-12-08 12:04 被阅读0次
    >>> a = 1
    >>> b = 1
    >>> a is b
    True
    >>> a = 256
    >>> b = 256
    >>> a is b
    True
    >>> a = 257 
    >>> b = 257
    >>> a is b
    False
    >>> a = 1000
    >>> b = 1000
    >>> a is b
    False
    >>> 
    

    从上面的例子可以看出,对应小整形对象,python引用的是同一个对象,整形对象是不可变的,在频繁的使用过程中会多次创建和销毁,为了提高整体性能,python对整形对象申请空间进行了优化。
    对于小整形对象因为使用的频率高,python会缓存。

    然而:

    >>> a = 1000;b = 1000
    >>> a is b
    True
    

    如果在解释器中一次执行的话,解释器又会再优化,让a,b引用同一个对象。

    相关文章

      网友评论

          本文标题:python中小整形对象缓存

          本文链接:https://www.haomeiwen.com/subject/rqceixtx.html