python字符串驻留机制的使用范围

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

python字符串驻留机制的使用范围

小妮浅浅   2022-05-22 我要评论

1、字符串的长度为0和1时。

2、符合标识符的字符串。

3、字符串只在编译时进行驻留,而非运行时。

4、[-5,256]之间的整数数字。

实例

>>> str1='jiumo'
>>> str2='jiumo'
>>> str1 is str2
True
>>> id(str1)
1979078421896
>>> id(str2)
1979078421896

知识点扩充:

驻留时机

所有长度为 0 和长度为 1 的字符串都被驻留

字符串只在编译时进行驻留,而非运行时

a = 'hi' # a变量被驻留
b = ''.join(['h', 'i']) # 变量不会被驻留
print(a is b) # False

原理

系统维护interned字典,记录已被驻留的字符串对象

当字符串对象a需要驻留时,先在interned检测是否存在,若存在则指向存在的字符串对象,a的引用计数减1
若不存在,则记录a到interned中

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们