一、回文数
字符串说到底是一个序列,一个像元组那样不可变的序列。对于一个序列,我们可以利用切片的方式使其反转。
if x==x[::-1]:
print('yes')
else:
print('no')
二、大小写字母转换方法
capitalize()方法将字符串首字母转换成大写,其它字母换成小写。注意返回的不是原字符串,因为字符串不可变,它是生成了一个新的字符串。
casefold()将所有字母转为小写。
title()方法将每个单词的首字母都变成大写,该单词的其它所有字母都变成小写。
swapcase()将字符串所有字母大小写反转。
upper()将所有字母变成大写,lower()将所有字母变为小写。
casefold和lower有区别吗?都是变成小写。其实是有的,lower只能处理英文字母,casefold还可以处理其它语言字母。
我们可以观察到,不管利用哪个方法,x这个字符串自身始终没有改变过。
三、左中右对齐
这几个方法是使字符串左中右对齐的。里面参数是对齐之后字符串的总长度。如果参数<字符串原长度,那么就原封不动输出。zfill()方法默认在左侧用0填充。
我们还可以指定第二个参数,也就是用什么字符填充(一般情况下默认是空格填充).
四、查找
count方法返回子字符串出现的次数。 find方法从左往右查找第一个子字符串出现的位置下标。rfind方法返回从右往左查找的子字符串第一个位置下标。
index也是同样作用,只不过查找失败时find方法返回-1,index抛出异常
五、替换
expandtabs()方法将字符串里的所有制表符替换为空格,参数代表了一个制表符替换为几个空格。
replace方法有三个参数(old,new,count),可以将old出现的地方全部替换为new,count指定替换几次,默认为-1,也就是全部替换。
maketrans用来制作一个表(相当于哈希映射表),通过translate方法可以将字符串中出现的字符一一映射到对应的值。第三个参数表示我translate时是否忽略一些字符。
六、判断
1.startswith方法判断参数子字符串是否出现在原字符串的开头。
2.endswith方法判断子字符串是否出现在原字符串的末尾。
这两个方法都有另外两个参数,用于指定从哪到哪开始判断。
我们这两个判断其实是以元组的形式传参的,换言之,我们可以放进去多个元素,只要有一个匹配,结果就是TRUE。
3.istitle方法判断一个字符串是否所有单词开头是大写,其余是小写。
4.issupper方法判断字符串里是否全部是大写字母,islower判断都是小写。
5.isalpha方法判断字符串是否全部由字母组成。
6.isspace判断是否是空白字符串,注意空格、制表符、换行符都是空白字符串。
7.isprintable方法判断是否是可打印字符串,不可打印的字符主要是转义字符。
8.isdecimal,isdigit,isnumeric三个方法都是判断数字的。
9.isalnum方法,只要5和8中任意一个方法是TRUE,就返回TRUE
10.isidentifier()方法判断是否是一个合法的Python标识符。
11.keyword模块里的iskeyword方法可以判断一个标识符是否是Python的保留关键字。
七、截取
1.lstrip方法消除字符串左侧空白,同理rstrip截取掉右侧空白,strip去除左右全部的空白。
我们注意到这三个方法都有第二个参数,这个参数其实也类似一个元组,我们进行匹配截取。
我们从左到右或者从右到左,依次删除掉不匹配的字符。注意是逐个匹配删除。
2.removeprefix(prefix),removesuffix(suffix)指定将要删除的前缀或者后缀(注意这两个方法是匹配整个字符串)。
八、拆分和拼接
1.partition方法从左到右找一个分隔符,将字符串分为左、符号、右三个部分。注意partition方法只能找一次,不能指定次数。rpartition方法是从右到左分割的。
2.split方法可以分割字符串,默认是用空格来进行分割的。同时split方法可以指定分割次数。
splitlines方法可以按照行来进行分割,并且不同操作系统都完全适用。
3.join方法
join方法用于拼接字符串,并且对于大量数据,join方法的效率是+号拼接效率的几千倍。
九、格式化字符串
1.format方法
我们发现,当我们找一个变量year=2010,写入字符串里,Python还会将其翻译为year,但是如果我们用一对大括号表示,并且用format方法,就可以将year翻译成2010.
我们format可以传入多个参数,默认一个参数和一个大括号是按顺序一次匹配的。
但是,我们也可以在{ }里指定参数的顺序:
参数中的字符串会当做元组来对待,同时还可以使用关键字参数:
如果我们想输出一对花括号,有两个方法:
在format()
方法中,花括号{}
被用作占位符,用于表示待填充的值。双花括号被转义成了{}。
2.align对齐方法
与汇编语言类似:
^这个字符可以强制居中,演示效果如下:
语法中的冒号是不可缺少的,冒号左边是位置关键字索引,右边是格式化选型。
如上图所示,我们这次选择>和<来左右对齐,其中0是位置为0的元素也就是250,故这次520在前面,右对齐。
这个0表示我们可以用什么元素来填充前面的空白,默认是右对齐,我们可以用感知正负号的0填充,也可以自定义符号。
3.其它方法
逗号和冒号选项用于当做千分符的分隔位,而+ - 用来当做正负数的符号位。
对于type设置为F或者f的浮点数来说,是限定小数点后显示多少个数位。type设置为g或G的浮点数来说,是限定小数点前后一共显示多少个数位。对于非数字类型来说,是限定最大字段的大小。
对于整数来说,不允许使用[.precision]选项。
除此之外,Python对进制也有展示方法。
在这些表示进制的英文前面加上#就可以显示出来具体是几进制。
接下来我们继续研究一下字符串其它方法:
E表示科学计数法,f表示小数点的精度,g默认一共6位精度,%显示百分数,默认6位。
4.f 字符串
f字符串是一个语法糖,他可以代替format的功能。