1、字符串的长度为0和1时。
2、符合标识符的字符串。
3、字符串只在编译时进行驻留,而非运行时。
4、[-5,256]之间的整数数字。
实例
1
2
3
4
5
6
7
8
|
>>> str1 = 'jiumo' >>> str2 = 'jiumo' >>> str1 is str2 True >>> id (str1) 1979078421896 >>> id (str2) 1979078421896 |
知识点扩充:
驻留时机
所有长度为 0 和长度为 1 的字符串都被驻留
字符串只在编译时进行驻留,而非运行时
1
2
3
|
a = 'hi' # a变量被驻留 b = ' '.join([' h ', ' i']) # 变量不会被驻留 print (a is b) # False |
原理
系统维护interned字典,记录已被驻留的字符串对象
当字符串对象a需要驻留时,先在interned检测是否存在,若存在则指向存在的字符串对象,a的引用计数减1
若不存在,则记录a到interned中
到此这篇关于python字符串驻留机制的使用范围知识点详解的文章就介绍到这了,更多相关python字符串驻留机制的使用范围内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://www.py.cn/jishu/jichu/33828.html