zoukankan      html  css  js  c++  java
  • 一定范围内的整数,它们只有唯一的一份拷贝

    Python中将小于256的整数赋值给多个不同的变量,变量在内存中的地址是一样,将大于等于256的整数赋值给不同的变量,变量在内存中的地址就不一样了,想了半天还是不太清楚原因。

    >>> q = 255
    >>> w = 255
    >>> id(q)
    34227776
    >>> id(w)
    34227776
    >>> a = 256
    >>> s = 256
    >>> id(a)
    34227764
    >>> id(s)
    34227764
    >>> z = 257
    >>> x = 257
    >>> id(z)
    41770536
    >>> id(x)
    41770740

        原来Python有个小整数池的概念,小整数池里的数都是常用的值(也可以自己改参数设范围,默认是到256),python提供这个小整数池就是为了避免程序不断的申请释放小整数,进而影响性能。

        说白了,小整数池里的每个数都是一个对象,而这个对象随着python进程存在而存在,与运行的程序无关。如果你要用它范围里的值,他提供,而不用重新分配空间建立对象。

  • 相关阅读:
    笔记-归并排序
    Repeated Substring Pattern
    Assign Cookies
    Number of Boomerangs
    Paint Fence
    Path Sum III
    Valid Word Square
    Sum of Two Integers
    Find All Numbers Disappeared in an Array
    First Unique Character in a String
  • 原文地址:https://www.cnblogs.com/johnny521/p/3986176.html
Copyright © 2011-2022 走看看