推荐学习书目
› Learn Python the Hard Way
Python Sites
› PyPI - Python Package Index
› http://diveintopython.org/toc/index.html
› Pocoo
值得关注的项目
› PyPy
› Celery
› Jinja2
› Read the Docs
› gevent
› pyenv
› virtualenv
› Stackless Python
› Beautiful Soup
› 结巴中文分词
› Green Unicorn
› Sentry
› Shovel
› Pyflakes
› pytest
Python 编程
› pep8 Checker
Styles
› PEP 8
› Google Python Style Guide
› Code Style from The Hitchhiker's Guide
ooleslie
V2EX  ›  Python

Python 中的数据映射是什么规则?

  •  
  •   ooleslie · Jan 25, 2019 · 3978 views
    This topic created in 2839 days ago, the information mentioned may be changed or developed.
    example.1
    input:
    a = 3
    b = a
    id(a)
    id(b)
    id(3)

    output:
    id(a)=4531258544
    id(b)=4531258544
    id(3)=4531258544

    example.2
    input:
    a = -1000
    b = a
    id(a)
    id(b)
    id(3)

    output:
    id(a)=4534237776
    id(b)=4534237776
    id(-1000)=4534237968

    为什么?

    主要想让大家推荐下,这块知识点应该看什么资料
    11 replies  •  2019-01-25 11:24:49 +08:00
    junnplus
    junnplus
    Jan 25, 2019 via iPad❤️3
    1
    关键字 python 小整数对象池
    参考: https://github.com/Junnplus/blog/issues/12
    kkk330
    kkk330
    Jan 25, 2019 via iPhone❤️1
    2
    之前有人在 v 站问过类似的问题,可以先搜索下
    ooleslie
    ooleslie
    OP
    Jan 25, 2019
    3
    @kkk330 谢谢,我主要不知道该用什么关键字搜索,不过 1 楼提供啦
    0xABCD
    0xABCD
    Jan 25, 2019 via Android❤️1
    4
    Qzier
    Qzier
    Jan 25, 2019 via iPhone
    5
    python 会缓存小数字和短字符串。
    Qzier
    Qzier
    Jan 25, 2019 via iPhone❤️1
    6
    看 cpython 源码即可
    bruce00
    bruce00
    Jan 25, 2019 via iPhone❤️1
    7
    楼主看看流畅的 python 第八章呢,应该就是讲的这个
    XxxxD
    XxxxD
    Jan 25, 2019❤️1
    8
    >>> a = 258
    >>> b = a
    >>> id(a)
    14014704
    >>> id(b)
    14014704
    >>> id(258)
    14014816
    >>>
    我还记得超 256 不行,缓存小数字
    builtins
    builtins
    Jan 25, 2019 via iPad
    9
    缓存的小整数池是-5 到 256 整数,超出这个范围 id 就不会相等,除非 a=257;b=257
    zepc007
    zepc007
    Jan 25, 2019
    10
    @builtins 牛批,每次这个都记不住
    builtins
    builtins
    Jan 25, 2019
    11
    强烈建议看一下 github 上的 wtfpython,长了见识
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5295 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 01:22 · PVG 09:22 · LAX 17:22 · JFK 20:22
    ♥ Do have faith in what you're doing.