字符串各种奇葩的内置方法(操作后都是返回一个新的字符串):
-
capitalize():把字符串的第一个字符改为大写
-
casefold():把整个字符串的字符改为小写
-
center(width):将字符串居中,并使用空格填充至长度width的新字符串
-
count(sub[,start[,end]]):返回sub在字符串里面出现的次数,start和end参数表示范围,可选
-
encode(encoding=‘utf-8’,errors=strict):以encoding指定的编码格式对字符串进行编码
-
endswith(sub[,start[,end]]):检查字符串是否以sub子字符串结束,如果是返回True,否则返回False。start和end参数表示范围,可选
-
startswith(prefix[,start[,end]]):检查字符产是否以prefix子字符串开头,是则返回True,否则返回False,start和end参数可以指定范围检查,可选
-
expandtabs(tabsize=8):把字符串中的tab符号(\t)转换为空格,如不指定参数,默认的空格数是tabsize=8
-
find(sub[,start[,end]]):检测sub是否包含在字符串中,如果有则返回索引值,否则返回-1,start和end参数表示范围,可选
-
rfind(sub[,start[,end]]):类似于find方法,不过是从右边开始
-
index(sub[,start[,end]]):跟find方法一样,不过如果sub不在string中会返回一个异常
-
rindex(sub[,start[,end]]):类似于index方法,不过是从右边开始
-
isalnum():如果字符串至少有一个字符并且所有字符都是字母或数字则返回True,否则返回Fasle
-
isalpha():如果字符串至少有一个字符并且所有字符都是字母则返回True,否则返回False
-
isdecimal():如果字符串只包含十进制数字则返回True,否则返回False
-
isdigit():如果字符串只包含数字则返回True,否则返回False
-
lower():转换字符串中所有大写字符为小写
-
upper():转换字符串中所有小写字符为大写
-
islower():如果字符串中至少包含一个区分大小写的字符 ,并且这些字符都是小写,则返回True,否则返回False
-
isupper():如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回True,否则返回False
-
isnumeric():如果字符串中只包含数字字符,则返回True,否则返回False
-
isspace():如果字符串中只包含空格,则返回True,否则返回False
-
title():返回标题化(所有的单词均是以大写开始,其余均小写)的字符串
-
istitle():如果字符串是标题化(所有的单词都是以大写开始,其余字母均小写),则返回True,否则返回False
-
join(sub):以字符串作为分隔符,插入到sub中所有的字符之间(sub被字符串分隔开)
-
ljust(width):返回一个左对齐的字符串,并使用空格填充至长度为width的新字符串
-
rjust(width):返回一个右对齐的字符串,并使用空格填充至长度为width的新字符串
-
strip([char]):删除字符串前面和后面所有的空格,chars参数可以定制删除的字符,可选
-
lstrip():去掉字符串左边的所有空格
-
rstrip():删除字符串末尾的空格
-
patition(sub):找到子字符串sub,把字符串分成一个三元组(pre_sub,sub,fol_sub),如果字符串中不包含sub,则返回(‘原字符串’,’ ‘,’ ')
-
rpatition(sub):类似于patition方法,不过是从右边开始查找
-
replace(old,new[,count]):把字符串中的old子字符串替换为new子字符串,如果count指定,则替换不超过count次
-
split(sep=None,maxsplit=-1):不带参数默认是以空格为分隔符切片字符串,如果maxsplit参数由设置,则仅分隔maxsplit个子字符串,返回切片后的子字符串拼接的列表
-
splitlines([[keepends]]):按照’\n’分隔,返回一个包含各行作为元素的列表,如果keepends参数指定,则返回前keepends行
-
swapcase():翻转字符串中的大小写
-
translate(table):根据table的规则(可以由str.maketrans(‘a’,‘b’)定制)转换字符串中的字符
-
zfill(width):返回长度为width的字符串,原字符串右对齐,前边用0填充
测试题:
- 还记得如何定义一个跨越多行的字符串吗(请至少写出两种实现的方法)?
第一种,每行结尾加/
第二种,用三引号
- 三引号字符串通常我们用于做什么使用?
三引号字符串不赋值的时候,通常当作跨行注释使用
- file1 = open(‘C:\windows\temp\readme.txt’, ‘r’) 表示以只读方式打开“C:\windows\temp\readme.txt”这个文本文件,但事实上这个语句会报错,知道为什么吗?你会如何修改?
反斜杠无法解析,需要把转义,‘\’变为‘\’
或者file1 = open(r’C:\windows\temp\readme.txt’, ‘r’)
- 有字符串:str1 = ‘<a href=“http://www.fishc.com/dvd” target="_blank">鱼C资源打包</a>’,请问如何提取出子字符串:‘www.fishc.com’
str[16,29]
- 如果使用负数作为索引值进行分片操作,按照第三题的要求你能够正确目测出结果吗?
str[-45,-32]
- 还是第三题那个字符串,请问下边语句会显示什么内容?
str1[20:-36]
fishc
- 据说只有智商高于150的鱼油才能解开这个字符串(还原为有意义的字符串):str1 = ‘i2sl54ovvvb4e3bferi32s56h;$c43.sfc67o0cm99’
str[: : 3]
- 请问以下这行代码会打印什么内容?
“{{1}}”.format(“不打印”, “打印”)
{1}
- 以下代码中,a, b, c是什么参数?
“{a} love {b}.{c}”.format(a=“I”, b=“FishC”, c=“com”)
‘I love FishC.com’
关键字参数
- 以下代码中,{0}, {1}, {2}是什么参数?
“{0} love {1}.{2}”.format(“I”, “FishC”, “com”)
‘I love FishC.com’
位置参数
- 如果想要显示Pi = 3.14,format前边的字符串应该怎么填写呢?
" ".format('Pi = ', 3.1415)
“{0}{1:.2f}”’.format('Pi = ', 3.1415)
- 我们根据列表、元祖和字符串的共同特点,把它们三统称为什么?
序列,因为它们有以下共同点:
1)都可以通过索引得到每一个元素
2)默认索引值总是从0开始(灵活的python还支持负数索引)
3)可以通过分片的方法得到一个范围内的元素的集合
4)有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)
- 请问分别使用什么BIF,可以把一个可迭代对象转换为列表、元祖和字符串?
list([iterable])把可迭代对象转换为列表
tuple([iterable])把可迭代对象转换为元组
str(obj)把对象转化为字符串
- 你还能复述出“迭代”的概念吗?
迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次”迭代“,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。
- 你认为调用 max(‘I love FishC.com’) 会返回什么值?为什么?
v,按照ASCII码排序