基础数据类型:str
1.1 字符串大小写转换
所有字母大写 : string.upper()
所有字母小写 :string. lower()
第一个单词的第一个字母大写,其他字母小写 : string.capitalize()
非字母隔开的部分首字母大写:string. title()
大小写反转 : string.swapcasw()
1 s = "biZZ gates is001number"
3 print(s.upper())
5 print(s.lower())
7 print(s.capitalize())
9 print(s.title())
11 print(s.swapcase())
运行结果:
BIZZ GATES IS001NUMBER ### 所有字母大写
bizz gates is001number ### 所有字母小写
Bizz gates is001number ### 第一个单词的第一个字母大写
Bizz Gates Is001Number ### 非字母隔开的部分首字母大写
BIzz GATES IS001NUMBER ### 大小写反转
1.2 去除空格
去除字符串首尾的空格: string.strip()
去除左边(开头)空格:string.lstrip()
去除右边(结尾)空格:string.rstrip()
去除字符串中间的空格:string.replace(" ","")
--- 当参数为空时,string.strip()将两端的空白符、 、 (换行符)、 (制表符:相当于tab键,四个空格) 都删除;
--- 当传入参数后,string.strip()函数会把传入的参数拆解成一个个字符,从头到尾循环直至全部去掉
1 s = " bizz gates is number1 "
2 print(s.strip()) # 删除前后空格
3 print(s.lstrip()) # 删除开头空格
4 print(s.rstrip()) # 删除结尾空格
运行结果:
1 bizz gates is number1
2 bizz gates is number1
3 bizz gates is number1
1 s1 = "bbbccc123dddbbcc"
2 print(s1.strip("bc")) # 删除字母b和c
3 print(s1.lstrip("bc")) # 删除头部的字母b和c
4 print(s1.rstrip("bc")) # 删除结尾的字母b和c
运行结果:
1 123ddd
2 123dddbbcc
3 bbbccc123ddd
1.3 字符串切割(字符串转换列表的方法)
string.split() 将字符串切割后返回为一个列表
string.spit() 不传入参数,则按照空格去切割,返回列表
string.split("m") 按元素m进行切割,返回列表
string.split("m",n) 按元素 m 切割 n 次,返回列表
1 s = "angelababy"
2 print(s.split("a")) # 以元素a对字符串进行切割
3 print(s.split("a",2)) # 以元素a对字符串进行2次切割
运行结果:
["", "ngel", "b", "by"]
["", "ngel", "baby"]
1.4 字符串替换
string.replace(old,new,count)
string.replace(m,n) 将字符串所有的m都替换成n
string.replace(m,n,count)将old值替换成new值,替换count次
1 s = "angela baby baby"
2 print(s.replace("a","h")) ### 将字符 a 替换成 h
3 print(s.replace("a","h",2)) ### 将前两个字符 a 替换成 h
运行结果:
hngelh bhby bhby
hngelh baby baby
1.5 判断字段串组成
string.isalnum() 判断字符串是否由字母或数字组成
string.isalpha() 判断字符串是否由字母组成
string.isdigit() 判断字符串是否由数字组成
string.isspace() 判断字符串是否由空格组成
1.6 查询字符串索引
### 通过元素查找字符串索引 :find() 、index()
注:find() 和 index() 使用方法一样,唯一的区别是 find()找不到返回 -1 ,index()找不到报错。
1 str = "angela baby baby"
2 print(str.find("g")) #查找元素 m 在字符串中的第一个索引
3 print(str.find("a",2,10)) # 在字符串索引为2到10之间找元素 a 的第一个索引值
# find()方法找不到返回 -1
4 print(str.index("g")) #通过元素m查找索引
5 print(str.index("a",2,10)) #在字符串索引为2到10之间找元素 a 的第一个索引值
#find()方法找不到就报错
运行结果:
2
5
2
5
1.7 字符串拼接、输出、关键字
### ①字符串拼接
1 print("蜡笔小新",18,"岁") ## 不同字符类型用逗号(,)拼接
2 print("蜡笔小新"+"小新蜡笔") ## 同一字符类型用加号(+)拼接
### ②输出
1 a = 5
2 b = 6
##换行输出
1 print(a)2 print(b)##不换行输出
1 print(a,end=" ")2 print(b)
## 换行输出
print("我要换行啦 我要换行啦")
###③ 查看关键字
1 importkeyword2 print(keyword.kwlist)
运行结果:
蜡笔小新 18 岁
蜡笔小新小新蜡笔
5
6
5 6
我要换行啦
我要换行啦
["False", "None", "True", "and", "as", "assert", "break", "class", "continue", "def", "del", "elif", "else", "except", "finally",
"for", "from", "global", "if", "import", "in", "is", "lambda", "nonlocal", "not", "or", "pass", "raise", "return", "try", "while",
"with", "yield"]
1.8 格式化
### 1) %s 格式化
# 第一种
1 s = "我叫%s,今年%d岁,身高%.2f。"%("佩琪",6,135.565)
2 print(s)
# 第二种(使用键值对)
1 s = "我叫%(name)s,今年%(age)d岁,身高%(high).2f。"%{"name" :"佩琪","high" : 135.565,"age" :6}
2 print(s)
### 2) format 格式化(注:若格式化的语句中已存在百分号(%),则加上%进行转义,写法:我的学习进度为80%%)
# 第一种(按顺序替换)
1 s = "我叫{},今年{}岁,身高{}。".format("佩琪","6","135")
2 print(s)
# 第二种(加入角标,可以重复利用)
1 s = "我叫{0},今年{1}岁,身高{2},你也叫{0}".format("佩琪","6","135")
2 print(s)
# 第三种(使用键值对,可以无序)
1 s = "我叫{name},今年{age}岁,身高{high}".format(name = "佩琪",high = 135,age ="6")
2 print(s)
运行结果:
我叫佩琪,今年6岁,身高135.56。
我叫佩琪,今年6岁,身高135。
我叫佩琪,今年6岁,身高135,你也叫佩琪
我叫佩琪,今年6岁,身高135
1.8 判断以什么开头、计算次数、填充
### 判断是否以某个元素开头/结尾 : startswith() 、 endswith()
1 str = "angela baby baby"
2 print(str.startswith("a")) #判断是否以m开头
3 print(str.startswith("m",7,16)) #判断第二个单词是否以m开头
4 print(str.endswith("y")) #判断是否以m结尾
#返回为bool值
运行结果:
True
False
True
### 计算字符出现的次数 : count()
1 str = "angela baby baby"
2 print(str.count("a")) # 查询元素 a 在整个字符串出现的次数
3 print(str.count("a",7,15)) # 查询元素 a 在索引为7~15之间出现的次数
运行结果:
4
2
### 1)填充 : join()
1 s = "alexeweuesir"
2 s1 = "_".join(s)
3 print(s1)
运行结果:
a_l_e_x_e_w_e_u_e_s_i_r
### 2)填充:center()
1 s = "angle bobyboby"
2 print(s.center(20)) ### 整个字符串为20个字符(未写参数,以空格填充),且字符串居中显示
3 print(s.center(20,"*")) ### 字符串以*填充20个字符,且字符串居中显示
运行结果:
angle bobyboby
***angle bobyboby***