1、string
str1="abc" str2="123"
1.1、字符串的拼接
str3 = str1+str2 # str3="abc123"
注:print(str * n) 可将字符串str重复输出n次
1.2、通过下标获取字符串的某个元素
str1[1] # b
注:1、下标从0开始叠加,下标不能超过字符的长度-1,否则报错。。。
2、下标可以为负数,为正表示从左向右数,为负即从右向左数
3、通过len(str)可以获取字符串的长度
1.3、利用下标截取字符串
格式:str[[起始下标start]:[结束下标stop][:][递增基数step]]
strat:为起始下标,即截取的开头,可省略,默认为0
stop:结束下标,即截取的结束(不包含),可省略,默认为长度
step:即截取的步长,可省略,默认为1
注:1、str为不可变数据类型,所以截取字符串的字符串会生成一个新的字符串,对原字符串没有影响
2、步长可以为负数,步长为负数表示从右向左截取,否则默认从左向右截取
3、start与stop也可为负数,若步长为正,则start必须小于stop才能成功截取
1.4、可使用in 和not in 判断字符串中是否拥有某元素
如:str1 = “abc”
print(a in str1) # True
print(d in str1) # False
1.5、格式化字符串
格式化字符串语法格式:
字符串(字符串中包含格式化字符)%(格式化字符对应的数据)
%s :可以作为字符串、整型、浮点型的占位符
%d :可以作为整型、浮点型的占位符,如果作为浮点型占位符,默认保留整数部分
%f :可以作为整型、浮点型的占位符,默认保留六位小数,%f可以写成%。nf格式,n代表保留的小数位数
例如:
name = "lily" age = 12 weight = 54.3
print("姓名是:%s, 年龄是:%d, 体重是:%.1f"%(name, age, weight))
1.6、转义字符“\”
转义字符"\"可以将有意义额度字符转化为无意义的字符, 如:print("\\") # \ 输出一个\,第一个\表示转义字符,将第二个\转化成无意义的斜线输出
使用r/R可直接使用原始字符,不转义,如:print(r"\\\\\\") # \\\\\\
2、string内嵌函数
2.1、eval(str),将str中的有效表达式进行计算并输出
eval("123") # 123 eval("-123") # -123 eval("1+2") # 3 eval("abc") # 报错
2.2、字符串的大小写转换
str0.lower() 将所有字母小写 str0.upper()将所有字母大写
str0.swapcase()将原字符中的小写字母转大写,大写字母转小写
str0.capitalize() 每个句子首字母大写,其他全小写
str0.title()每个单词的首字母大写,其它全小写
2.3、使字符串返回指定长度及指定其前后符号
1、str.center(width[,fillchar]) 返回指定长度width的字符串,str在中间, 其他位置用fillchar补全,默认fillchar为空格
2、str.ljust(width[,fillchar]) 返回指定长度width的字符串,str在左边, 其他位置用fillchar补全,默认fillchar为空格
3、str.rjust(width[,fillchar]) 返回指定长度width的字符串,str在右边, 其他位置用fillchar补全,默认fillchar为空格
4、str.zfill(width) 返回指定长度width的字符串,str在右边, 其他位置用0补全
2.4、查询原字符串中是否包含某一字符串
1、str.find(string [,begin,end]):检测str中是否存在string,如果存在,返回第一次找到的下标,如果指定begin与end,在该范围内查找;如果找不到,返回-1 从左向右查找
2、str.rfind(string [,begin,end]):检测str中是否存在string,如果存在,返回第一次找到的下标,如果指定begin与end,在该范围内查找;如果找不到,返回-1 从右向左查找
3、str.index(string [,begin,end]):检测str中是否存在string,如果存在,返回第一次找到的下标,如果指定begin与end,在该范围内查找;如果找不到,报错 从左向右查找
4、str.rindex(string [,begin,end]):检测str中是否存在string,如果存在,返回第一次找到的下标,如果指定begin与end,在该范围内查找;如果找不到,报错 从右向左查找
2.5、检查字符串中某字符出现的次数
str1.count(str2) 返回str2在str1中出现的次数
2.6、切割字符串与连接字符串
1、切割字符串
str0.split(str1 [, count]) 以str1为标识符切割str0,并将切割好的字符串以列表的形式返回,
count表示切割次数,省略表示一直切割下去
str.splitlines([boolean]) 按照行切割字符串 (\n \r \n\r),一行为单位切割字符串,boolean:如果值为True,有换行符;如果值为 False,无换行符;默认为False
2、连接字符串
str2.join(list0) 将列表中的所有字符串用str2链接起来
2.7、字符串与ASCii
1、ord(str) 将字符转ASCII
2、chr(ascii) 将ASCII转字符
max(str0) 可通过比较str0中个元素的ascii值,输出ascii最大的字符
min(str0) 可通过比较str0中个元素的ascii值,输出ascii最小的字符
2.8、截掉字符串中指定位置的元素
1、string.lstrip(str) 截掉字符串string左边位置指定字符的str元素,str默认为空格
2、string.rstrip(str) 截掉字符串string右边位置指定字符的str元素,str默认为空格
3、string.strip(str) 截掉字符串string两边位置指定字符的str元素,str默认为空格
2.9、替换字符串
1、str.replace(old, new[, count]) 将str中的old子串替换为new子串,默认全部替换,如果指定count,则替换count个
2、 创建映射表
创建映射表方式一 :str.maketrans("noi", "abc")
第一个参数代表原本的字符,第二个为替换的字符
注:两个参数的字符个数要求一致
创建映射表方式二:str.maketrans("n": "a", "o": "b")
只写一个参数:参数类型为字典类型 {key: value}
key:为原始字符 value:为替换的字符
2.10、用于判断的函数
1、str0.isalpha() 判断字符串中至少有一个字符,并且所有字符都是字母
2、str0.isalnum() 判断字符中至少有一个字符,并且所有字符都是数字或字母
3、str0.isdigit() 判断字符串中至少有一个字符,并且所有字符都是数字
4、str0.isspace() 判断字符串中至少有一个字符,并且所有字符都是空格
5、str0.isupper()判断字符串中至少有一个是区分大小写的字符,并且所有区分大小写的字符都是大写
6、str0.islower()判断字符串中至少有一个是区分大小写的字符,并且所有区分大小写的字符都是小写
7、str0.istitle()判断字符串中至少有一个是区分大小写的字符,并且所有字符都是标题化字符,单词的首字母大写
8、str0.startswith("str[,start,end]")判断string是否以str开头,返回True或False,如果指定start与end,在该范围内判断
9、str0.endswith("str[,start,end]")判断string是否以str结尾,返回True或False,如果指定start与end,在该范围内判断