python 驻留机制

python 驻留机制,第1张

概述1.简介申明一个内存空间,后续申明相同的值,不会再开辟一块新的内存空间,指向已有的内存空间2.适用类型1.str2.int3.bool3.实现原理1.系统维护一个记录驻留对象的字典2.当某个对象需要驻留,查看在字典中是否存在,若存在就指向已存在的内存空间;3.新驻留对象不存在于该 1. 简介
申明一个内存空间,后续申明相同的值,不会再开辟一块新的内存空间,指向已有的内存空间
2.适用类型
1. str2. int3. bool
3.实现原理
1. 系统维护一个记录驻留对象的字典2. 当某个对象需要驻留,查看在字典中是否存在,若存在就指向已存在的内存空间;3. 新驻留对象不存在于该字典中,开辟内存空间,记录该对象
4.驻留时机
1. 所有长度为 0 和长度为 1 的字符串都被驻留2. 字符串只在编译时进行驻留,而非运行时3. 字符串中只包含字母,数字或下划线时将会驻留4. 字符串长度不超过20位5.测试# strone = 'ffffffffffffffffffff'two = 'ffffffffffffffffffff'print(ID(one), ID(two))  # 42768184 42768184# intthree = 34567four = 34567print(ID(three), ID(four))  # 4697808 4697808# boolfive = Truesix = Trueprint(ID(five), ID(six))  # 497676512 497676512# 超过20位vv = "s" * 30bb = "s" * 30print(ID(vv), ID(bb))  # 35820848 35821088# 自己手动驻留import sysvv = sys.intern("s" * 30 + "666")bb = sys.intern("s" * 30 + "666")print(ID(vv), ID(bb))  # 38382824 38382824
5.优劣势
优势:减小内存开销,省略申请内存空间的过程,提高执行效率劣势:创建驻留对象需要花费额外的开销
总结

以上是内存溢出为你收集整理的python 驻留机制全部内容,希望文章能够帮你解决python 驻留机制所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1188585.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存