python字符串驻留是什么
发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,本篇内容介绍了"python字符串驻留是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先看下面这
千家信息网最后更新 2024年11月24日python字符串驻留是什么
本篇内容介绍了"python字符串驻留是什么"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
先看下面这段代码
>>> a = 'apple'
>>> b = 'apple'
>>> a is b
True
返回结果看起来没毛病
再来看这段:
>>> a = 'apple!'
>>> b = 'apple!'
>>> a is b
False
这个结果是不是有点诡异
前后两个字符串仅仅是一字之差,结果完全不同。
不信你可以自己测试一下
为了理解这段代码的区别,里面涉及到一个概念,叫做"字符串驻留",英文叫string intern。
什么是字符串驻留
python中万物皆对象,某些情况下,解释器遇到两个看起来长的一毛一样的对象时会做一些优化
例如上面例子中的第一段代码,a 和 b 的值都是 apple
,当解释器准备创建第二个字符串"apple"时,解释器会去驻留内存中查找是否已经存在"apple"对象,如果有就不在创建新的对象了,两人共享一个老婆,哦不对,是共享一个对象。
这就是字符串驻留的概念。
所以 a 和 b 这两个变量共享了同一个对象,因此 is
运算后返回结果为 True
。
对于简单的字符串,系统中可能大量重复存在,这样的好处就是节省内存。驻留内存这个策略在java中也存在。
但并不是所有的字符串有会放进驻留内存中,如果都驻留的话,内存会爆炸。只有符合如下规则才有可能被驻留
长度为 0 或者 1 的字符串被驻留.
字符串中只包含字母,数字或下划线时将会驻留。
字符串必须是编译时的常量字符串
例如下面的c用join方法生成的字符串就不会驻留
>>> a = "apple"
>>> c = "".join(['a','p','p','l','e'])
>>> a is c
False
"python字符串驻留是什么"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
字符
字符串
对象
内存
结果
两个
代码
解释器
解释
内容
就是
情况
更多
概念
知识
不同
不对
诡异
一字之差
学有所成
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全知识感想500字
广州有你网络技术有限公司的薪资
网络安全竞赛 网鼎
方舟端游不用服务器可以联机吗
坪山区光纤网络技术开发厂家现货
网络安全未来职业生涯规划
麦考瑞大学有没有网络安全
服务器的安全解决方案
上海市软件开发技能标兵
软件开发计划ppt
清华研究生网络安全录取分数线
数据库设计 46级考试
青少年网络安全的概念
苹果手机网络安全审查办法
四川百聚网络技术有限公司
数据库msdb在哪里看
音频软件开发书籍
网络安全应该怎么设置
华为软件开发校招面试要求
软件开发技术专业是什么
建筑服务器作品欣赏
通过cmd安装mysql数据库
投资项目数据库app
成都web前端软件开发费用
龙岩国家网络安全
plc服务器中断
怎么查服务器主频
软件开发保证安全
网络安全手抄报国家一等奖
单位网络安全奖励制度