gpt4 book ai didi

python - python 是如何做字符串魔术的?

转载 作者:太空狗 更新时间:2023-10-30 00:19:32 25 4
gpt4 key购买 nike

<分区>

今天我对一个字符串比较感到困惑:似乎 python 重用了字符串(这是一个明智的做法,因为它们是不可变的)。为了检查这个事实,我做了以下事情:

>>> a = 'xxx'
>>> b = 'xxx'
>>> a == b
True
>>> a is b
True
>>> id(a)
140141339783816
>>> id(b)
140141339783816
>>> c = 'x' * 3
>>> id(c)
140141339783816
>>> d = ''.join(['x', 'x', 'x'])
>>> id(d)
140141339704576

这有点令人惊讶。一些问题:

  • python 在定义新字符串时是否检查其字符串表的全部内容?
  • 字符串大小有限制吗?
  • 这种机制是如何工作的(比较字符串的哈希值?)
  • 它似乎并不适用于所有类型的生成字符串。这里的规则是什么?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com