第9章_字符串
内容概述:
1、字符串的驻留机制
2、字符串的常用操作
3、字符串的比较
4、字符串的切片操作
5、格式化字符串
6、字符串的编码转换
一(75)、字符串的驻留机制
- 字符串
- 在Python中字符串时基本数据类型,是一个不可变的字符序列
- 什么叫字符串驻留机制呢?
- 仅保留一份相同且不可变字符串的方法,不同的值被存放在字符串的驻留池中,Python的驻留机制对相同的字符串只保留一份拷贝,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量
-
驻留机制的几种情况(交互模式)
- 字符串的长度为0或1时
- 符合标识符的字符串
- 字符串只在编译时进行驻留,而非运行时
- [-5,256]之间的整数数字
-
sys中的intern方法强制2个字符串指向同一个对象
-
PyCharm对字符串进行了优化处理
-
字符串驻留机制的优缺点
- 当需要值相同的字符串时,可以直接从字符串池里拿来使用,避免频繁的创建和销毁,提升效率和节约内存
- 在需要进行字符串拼接的时候建议使用str类型的join方法,而非+,因为join()方法是先计算出所有字符串的长度,然后再拷贝,只new一次对象,效率要比"+"效率高
二、字符串的常用操作
(一)字符串的查询操作的方法(76)
(二)字符串的大小写转换操作的方法(77)
(三)字符串内容对齐操作的方法(78)
(四)字符串的劈分(79)
(五)字符串判断的相关方法(80)
(六)字符串判断的相关方法(80)
(七)字符串的替换和合并(81)
三、字符串的比较操作(82)
- 字符串的比较操作
- 运算符:>,>=,<,<=,==,!=
- 比较规则:首先比较两个字符串中的第一个字符,如果相等则继续比较下一个字符,依次比较下去,直到两个字符串中的字符不相等时,其比较结果就是两个字符串的比较结果,两个字符串中的所有后续字符将不再被比较。
- 比较原理:两串字符就进行比较时,比较的是其ordinal value(原始值),调用内置函数ord可以得到指定字符的ordinal value。与内置函数ord对应的是内置函数chr,调用内置函数chr时指定ordinal value可以得到其对应的字符。
四、字符串的切片操作(83)
- 字符串时不可变类型
- 不具备增、删、改等操作
- 切片操作将产生新的对象
五、格式化字符串(84)
- 为什么需要格式化
-
格式化字符串的两种方式
- %占位符
- {}作占位符
‘我的名字叫:{0},今年{1}岁了,我真的叫了:{0}’.format(name,age)
{:10.3f}:十位数、小数点后保留3位、浮点数
六、字符串的编码与解码(85)
-
字符串的编码转换
-
为什么需要字符串的编码切换
-
编码与解码的方式
- 编码:将字符串转换为二进制数据(bytes)
- 解码:将byte类型的数据库转换成字符串类型