python学习笔记 2023.7.6 (字符串补充)
字符串的驻留机制
字符串是一种不可变数据类型,字符串被保留在字符串驻留池中,相同值的字符串只保留一份拷贝。
当不同的变量被赋予的值为同一个字符串时,不会产生两个相同值的字符串,即只保留一份拷贝,而是将两个变量的值均指向同一个字符串。
字符串的常用操作
1 查询
- index():查找指定字符串片段第一次出现的位置,若不存在则返回
ValueError
- rindex():查找指定字符串片段最后一次出现的位置,若不存在则返回
ValueErroor
- find();同
index()
的作用相同,但当所查找的片段不存在时不会报错,而是返回-1
- rfind():同
rindex()
的作用相同,当所查找的片段不存在时不会报错,而是返回-1
2 大小写转换
upper()
:将字符串中的所有字母转换为大写,有字母数字汉字等混合时也可以使用,只会将字母转换为大写lower()
:将字符串中的所有字母转换为小写,有字母数字等混合时也可以使用swapcase()
:将字符串中的的小写字母转换为大写,大写字母转换为小写capitalize()
:将第一个字符转换为大写,其他为小写,若第一个字符不是字母,则会把所有字母都转换为大写title()
:把每一个单词的第一个字符转换为大写
3 内容对齐
center()
:居中对齐,有两个参数。第一个参数指定宽度,当设置的宽度小于字符串的宽度时,则返回原字符。第二个参数指定填充符,默认为空格。ljust()
:左对齐,参数设置和center()
相同。rjust()
:右对齐,参数设置和center()
相同。zfill()
:右对齐,左边用0填充,只有一个参数,用于设置宽度,若宽度小于字符串宽度,会返回原字符串。
例:
a = 'time'
print(a.center(8,'-'))
print(a.ljust(8,'-'))
pirnt(a.rjust(8,'-'))
print(a.zfill(8))
输出结果为:
--time--
time----
----time
0000time
4 字符串的分割
split()
:从字符串左边开始劈分,返回值为列表,有两个参数。通过参数sep
指定劈分时的分隔符,默认为空格字符串;通过参数maxsplit
指定分割的最大次数。rsplit()
:从字符串的右边开始劈分,其他同split()
相同。
例:
a = sometime
print(a.split(sep='m'))
print(a.rsplit(sep='m'))
输出结果为:
['so', 'eti', 'e']
['so', 'eti', 'e']
7 字符串的比较
字符串可以通过比较运算符>, <, ==, !=, <=, >=
进行比较运算。
比较的规则:从左到右依次比较,相等时比较下一位,直到不相等,后面的不再比较。比较的依据是ASCII码值的大小
5其他方法
isidentifier()
:判定字符串是否为合法标识符,是返回布尔值True
,不是返回False
。isspace()
:判定字符串是否全由空白字符(换行、回车、水平制表符等)组成,是返回True
,不是返回False
。isalpha()
:判定字符串是否全由字母组成,是返回True
,不是返回False
。isdecimal()
:判断字符串是否全由十进制字符串组成。isnumeric()
:判断字符串是否全由数字组成。(注:数字包含阿拉伯数字,中国汉字的数字,罗马数字)isalnum()
:判断字符串是否全由字母和数字组成