基础数据类型: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()将两端的空白符、\r、\n(换行符)、\t(制表符:相当于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 字符串拼接、输出、关键字
### ① 字符串拼接 print("蜡笔小新",18,"岁") ## 不同字符类型用逗号(,)拼接
print("蜡笔小新"+"小新蜡笔") ## 同一字符类型用加号(+)拼接
### ② 输出
a = 5
b = 6
## 换行输出
print(a)
print(b)
## 不换行输出
print(a,end=" ")
print(b)
## 换行输出
print("我要换行啦\n我要换行啦") ### ③ 查看关键字
import keyword
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***