python字符串驻留机制的使用范围知识点详解

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中

到此这篇关于python字符串驻留机制的使用范围知识点详解的文章就介绍到这了,更多相关python字符串驻留机制的使用范围内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 关于Python中字符串的各种操作

    目录 1.字符串拼接 2.字符串截取(字符串切片) 3.分割字符串 4.合并字符串 5.统计字符串出现的次数 6.检测字符串是否包含某子串 7.字符串对齐方法 8.检索字符串是否以指定字符串开头(startswith()) 9.检索字符串是否以指定字符串结尾(endswith()) 10.字符串大小写转换(3种)函数及用法 11.去除字符串中空格(删除特殊字符)的3种方法 12.encode()和decode()方法:字符串编码转换 13.序列化和反序列化 1.字符串拼接 通过+运算符 现有字符

  • Python中字符串的基础介绍及常用操作总结

    目录 1.字符串的介绍 2.字符串的下标 3.字符串切片 4.字符串find()操作 5.字符串index()操作 6.字符串count()操作 7.字符串replace()操作 8.字符串split()操作 9.字符串startswith()操作 10.字符串endswith()操作 11.字符串upper()操作 12.字符串lower()操作 13.字符串title()操作 14.字符串capitalize()操作 15.字符串strip()操作 16.字符串rfind()操作 17.字符

  • 简析Python函数式编程字符串和元组及函数分类与高阶函数

    目录 函数式编程中的字符串 不变类型元组 普通元组的声明与访问 函数式的分类 any() .all() .len().sum() 对比学习 zip().reversed().enumerate() 高阶函数 函数 max 和 min() map 函数 filter 函数 sorted 函数 同一需求的不同效率问题 函数式编程中的字符串 在函数式编程中,经常用到 Python 字符串,因其是不可变数据结构. 字符串本身是一个对象,具备很多对象方法,与常识中函数的使用不太相同,例如下述代码 my_s

  • python处理json字符串(使用json.loads而不是eval())

    eval 跟json.loads 是不一样的函数,是有实现不一样功能的地方,但是在某些地方它们两个函数的功能是一样的,在这个时候如果对执行效率有一定要求的话,建议不要用eval,改用json.loads会有惊喜哦. 一.eval eval() 函数用来执行一个字符串表达式,并返回表达式的值. 二.json.loads json.loads 用于解码 JSON 数据.该函数返回 Python 字段的数据类型. json.loads与eval都能将json字符串转成python中的对象,但在实际工作

  • python入门课程第五讲之序列和字符串

    目录 前言 序列 序列是什么? 有哪些序列类型呢? 1. 按照能存储的元素划分 2. 按照是否可变划分 序列都有哪些方法以及特性呢? 序列的索引 序列切片 序列相加 序列相乘 检查元素是否包含在序列中 序列相关的内置函数 字符串 字符串的定义 原始字符串的处理 字符串的分割方法 字符串拼接的方法 总结 牛刀小试一下吧 参考答案 本文主要介绍Python数据类型中序列和字符串,文末有彩蛋哦 干货满满,建议收藏,用到时常看常新. 小伙伴们如有问题及需要,请留言告诉我哦~ ~ ~. 前言 上一篇文章我

  • python字符串驻留机制的使用范围知识点详解

    1.字符串的长度为0和1时. 2.符合标识符的字符串. 3.字符串只在编译时进行驻留,而非运行时. 4.[-5,256]之间的整数数字. 实例 >>> str1='jiumo' >>> str2='jiumo' >>> str1 is str2 True >>> id(str1) 1979078421896 >>> id(str2) 1979078421896 知识点扩充: 驻留时机 所有长度为 0 和长度为 1 的

  • python中subprocess实例用法及知识点详解

    1.subprocess这个模块来产生子进程,并且可以连接到子进程的标准输入.输出.错误中,还可以获得子进程的返回值. 2.subprocess提供了2种方法调用子程序. 实例 # coding:utf-8 import os # popen返回文件对象,同open操作一样 f = os.popen(r"ls", "r") l = f.read() print(l) f.close() Python subprocess知识点扩充 使用subprocess模块的目的

  • python分布式爬虫中消息队列知识点详解

    当排队等待人数过多的时候,我们需要设置一个等待区防止秩序混乱,同时再有新来的想要排队也可以呆在这个地方.那么在python分布式爬虫中,消息队列就相当于这样的一个区域,爬虫要进入这个区域找寻自己想要的资源,当然这个是一定的次序的,不然数据获取就会出现重复.就下来我们就python分布式爬虫中的消息队列进行详细解释,小伙伴们可以进一步了解一下. 实现分布式爬取的关键是消息队列,这个问题以消费端为视角更容易理解.你的爬虫程序部署到很多台机器上,那么他们怎么知道自己要爬什么呢?总要有一个地方存储了他们

  • python字符串反转的四种方法详解

    这篇文章主要介绍了python字符串反转的四种详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.用reduce函数方法 book = 'Python程序设计' result = reduce(lambda x,y:y+x,book) print(result) 2.字符串切割 book = 'Python程序设计' print(book[::-1]) 3.用reversed方法,把字符串变成列表反转后拼接 result = reverse

  • python字符串拼接.join()和拆分.split()详解

    目录 1. 字符串拆分函数.split() 2. 字符串拼接函数.join() 扩展:理解" ".join(s.split(" ")[::-1])[::-1] 总结 1. 字符串拆分函数.split() 按照空格拆分字符串: s = "fd as sf" res = s.split(" ") print(res) 返回值为:['fd','as','sf'] 备注: s.split(" ")常见于拆分一句话中

  • 将Python字符串生成PDF的实例代码详解

    笔者在今天的工作中,遇到了一个需求,那就是如何将Python字符串生成PDF.比如,需要把Python字符串'这是测试文件'生成为PDF, 该PDF中含有文字'这是测试文件'.   经过一番检索,笔者决定采用wkhtmltopdf这个软件,它可以将HTML转化为PDF.wkhtmltopdf的访问网址为:https://wkhtmltopdf.org/downloads.html ,读者可根据自己的系统下载对应的文件并安装.安装好wkhtmltopdf,我们再安装这个软件的Python第三方模块

  • python字符串拼接+和join的区别详解

    python在进行字符串的拼接时,一般有两种方法,一种是使用+直接相加,另一种是使用join a = "tests" b = "teststs" # 使用 + c = a + b # 使用join c = "".join(a,b) 这两种,其实在性能上具有比较大的差别,当然如果拼接的字符串的个数不多,就感受不到这种差别. 先谈谈这两种拼接方式各自的原理吧. 1. 使用 + 首先需要知道的是,在python中字符串属于不可变对象. 当用操作符+连接

  • Python字符串常用方法以及其应用场景详解

    目录 前言 一.最大化最小化方法 二.统计次数方法 三.去掉左右侧字符方法 四.字符串分隔方法 五.字符串替换方法 六.字符串拼接方法 七.判断是否为数字的方法 八.判断是否为空格的方法 九.判断前缀和后缀的方法 补充:更多Python字符串常用方法 总结 前言 字符串作为一种重要的Python基本数据类型,在数据处理中发挥着不可或缺的作用,如果对它的方法能够灵活使用,能够达到事半功倍的效果.下面我们选取一些常用的方法,简述其应用场景. 一.最大化最小化方法 字符串的最大化方法upper()和最

  • Python字符串函数strip()原理及用法详解

    strip:用于移除字符串头尾指定的字符(默认为空格)或字符序列.注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符. 语法:str.strip([chars]) str = "*****this is **string** example....wow!!!*****" print (str.strip( '*' )) # 指定字符串 * 输出结果: this is **string** example....wow!!! 从结果上看,可以注意到中间部分的字符并未删除,只

  • Python字符串split及rsplit方法原理详解

    1.描述 split()方法通过指定分隔符对字符串进行切片,如果参数num有指定值,则分隔num+1个子字符串,默认分隔符为所有空字符,包括空格.换行(\n).制表符(\t)等 rstrip()方法通过 2.语法 str.split([sep=None][,count=S.count(sep)]) str.rsplit([sep=None][,count=S.count(sep)]) 3.参数 sep -- 可选参数,指定的分隔符,默认为所有的空字符,包括空格.换行(\n).制表符(\t)等 c

随机推荐