一、驻留机制
驻留:仅保存一份相同且不可变字符串的方法(同样的字符串只保留一份)
可能驻留的情况: ①字符串长度为0/1时 ③只在编译时驻留(非运行时)
②符合标识符的字符串 ④[-5,256]之间的整数
优势:避免频繁的创建和销毁,提升效率和节约内存
二、常规操作
1.查询
index() | 查询substr第一次出现的位置,不存在返回ValueError |
rindex() | 查询substr最后一次出现的位置,不存在返回ValueError |
find() | 查询substr第一次出现的位置,不存在时返回-1 |
rfind() | 查询substr最后一次出现的位置,不存在时返回-1 |
print(str.find('lo'))
2.大小写转换操作
upper() | 全转大写 |
lower() | 全转小写 |
swapcase() | 大小写反转 |
capitalize() | 句子首字母大写,其他全部小写 |
title() | 单词首字母大写,其他全部小写 |
3.对齐操作
center(宽度,填充符) | 居中对其 |
ljust(宽度,填充符) | 左对齐 |
rjust(宽度,填充符) | 右对齐 |
zfill(宽度) | 右对齐,左边0填充 |
填充符缺省空格
4.劈分操作
split() | 从左边开始分,默认以空格为标识,返回一个列表 通过参数sep指定分隔字符 通过参数maxsplit指定最大分隔次数,超出部分会被作为整体 |
rsplit() | 从右边开始分,其他的同split() |
5.判断比较
isidentifier() | 是否有不合法标识符 |
isspace() | 是否全部由空白字符组成(回车,换行,水平制表符) |
isalpha() | 是否都由字母组成 |
isdecimal() | 是否都由十进制数字组成 |
isnumeric() | 是否都由数字组成(可以是罗马数/中文数) |
issalnum | 是否都由字母&数字组成 |
6.替换&合并
repalce() | (被替换字符串,替换字符串,最大替换次数) |
join() | 将列表/元组的中字符串合并成一个 |
7.比较
使用>,>=,<.<=,==,!=进行比较,会逐个比较字符元素直至不相等为止
其实是比较两者的ASCII值
8.切片
字符串是不可变类型,无法进行增删改操作;切片会增加新的对象
str[start : stop : step]
9.格式化字符串
使用占位符(%或{})
print('我叫:%s,今年%d岁了' % (name,age))
print('我叫:{0},今年{1}岁了'.format(name,age))
10.字符串的编码转换
s.encode(encoding = '编码格式')
对象.decode(encoding='编码格式')