对于Python字符串的驻留机制的概念,有很多的小还是不太明白,简单一点的说,它就是一种在内存中保存一份且不可变字符串的方法,为了让大家更好的明白,下面通过对python字符串的驻留机制及优缺点进行讲解学习。

python字符串的驻留机制是什么?python字符串的驻留机制及优缺点

一、字符串驻留机制的说明

在之前的学习中,对于字符串的保存是可以保存为多份并且是可以改变的,而我们今天要学习的字符串驻留,它也是一种对字符串进行保存的方法,但是它只能保存为一份,并且内容相同还不能进行改变的字符串。在吸字符串中,不同的值会被存在同一个字符串驻留池中,当我们应用驻留之后,多个变量会指向内部中的同一个字符串对象,这样可以大量的节省内存空间。

二、字符串驻留机制的原理

它是一种用于系统对interned字典的操作,同时还会将已经被使用过的字符串对象保存下来,当某个字符串对象需要进行驻留的时候,会先在这个字典中检测,查看对象是否存在,如果存在就直接指向字符串的催下,使得引用的计数直接减1。如果不存在的时候,直接会将这个新的字符串对象存入到interned字典中。

三、驻留时机

1、字符串的驻留长度很容易区分,当所有的长度为1或者是0的时候,表示全部被驻留,所有的字符串都是在程序进行编译的时候驻留,而不是在没有运行的情况下。

举个例子:

a = 'hihi' 
b = ''.join(['h', 'i']) 
print(a is b) 运行结果为False

2、当一个字符串中,出现的只有字母、数字或者是下划线的时候,也会被驻留,举个例子:

a = 'hello'
b = 'hello'
print(a is b) 
运行结果:True
a = 'hello!'
b = 'hello!'
print(a is b) 
运行结果:False

四、字符串的驻留机制优缺点

优点:当我们对字符串进行处理的时候,可以在实际和空间的性能上得到一定的提高,

缺点:对驻留和创建字符串上时,需要花费大量的时间。

这篇关于“python字符串的驻留机制是什么?python字符串的驻留机制及优缺点”的内容就分享到这里了,希望大家能收获到更多的Python知识。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!