‘’’
判断相关的字符串函数:
1. isupper() 检测字符串是否都是大写字母组成(只检测字母,数据中有其它格式数据时不检查其它数据)
a = ‘study hard and make progress everyday’
b=a.isupper()
print(b) # 结果为布尔值
2. islower() 检测字符串是否都是小写字母组成(只检测字母,数据中有其它格式数据时不检查其它数据)
a = 'study hard and make progress everyday'
b=a.islower()
print(b)
3. istitle() 检测字符串是否符合标题需求 (每个单词的首字母大写)
a = 'study hard and make progress everyday'
b=a.istitle()
print(b)
4. isalnum() 检测字符串是否由数字和字母及文字组成(数据中有空格跟符号也不行)
a = 'study hard and make progress everyday 2019年7月12日'
b=a.isalnum()
print(b)
5. isalpha() 检测字符串是否由字母及文字组成(数据中有空格跟符号也不行)
a = 'studyhardandmakeprogresseveryday加油'
b=a.isalpha()
print(b)
6. isdigit() 检测字符串是否由十进制字符组成(0-9数字)
a = '0123456789'
b=a.isdigit()
print(b)
7. isnumeric() 检测字符串是否由数字字符组成
a = '0123456789'
b=a.isnumeric()
print(b)
8. isspace() 检测字符串是否由不可见字符组成
a = ' \n \r \t '
b=a.isspace()
print(b)
9. startswith() 检测字符串是否以指定的字符串开头
a = 'study hard and make progress everyday 2019年7月12日'
b=a.startswith()
print(b)
10. endswith() 检测字符串是否以指定的字符串结尾
a = 'study hard and make progress everyday 2019年7月12日'
b=a.startswith('study')
print(b)
与英文相关的函数:
11. upper() 将字符串中的小写字母转换为大写
a = 'study hard and make progress everyday'
b=a.upper('everyday')
print(b)
12. lower() 将字符串中的大写字母转换为小写
a = 'STUDY HARD AND MAKE PROGRESS EVERYDAY'
b=a.lower()
print(b)
13. swapcase() 将字符串中的大写字母转换为小写,小写字母转换为大写
a = 'study hard and make PROGRESS EVERYDAY'
b=a.swapcase()
print(b)
14. title() 将字符串中的字母进行标题化处理(就是首字母大写)
a = 'study hard and make progress everyday'
b=a.title()
print(b)
15. capitalize() 将整行字符串中字母的第一个字母变为大写(整组数据只改第一个字母)
a = 'study hard and make progress everyday'
b=a.capitalize()
print(b)
与字符串查找相关的函数:
16. index() 从字符串左侧开始向右查找指定字符串出现的位置(找不到的时候结果报错)
a = '人生苦短,我用python搞开发'
b=a.index('我',2,7) # 2,7 是指定索引的开始跟结束,可有可无
print(b)
17. rindex() 从字符串右侧开始向左查找指定字符串出现的位置(找不到的时候结果报错)
a = '人生苦短,我用python搞开发,我是IT人'
b=a.rindex('用',-2,-7) # -2,-7 是指定索引的开始跟结束,可有可无
print(b) # 如果有重复的字符串,只显示第一个查找到的位置
18. find() 从字符串左侧开始向右查找指定字符串出现的位置(找不到的时候结果显示-1,不报错)
a = '人生苦短,我用python搞开发'
b=a.find('我',2,7) # 2,7 是指定索引的开始跟结束,可有可无
print(b)
19. rfind() 从字符串右侧开始向左查找指定字符串出现的位置 (找不到的时候结果显示-1,不报错)
a = '人生苦短,我用python搞开发,我是IT人'
b=a.rfind('用',-2,-7) # -2,-7 是指定索引的开始跟结束,可有可无
print(b) # 如果有重复的字符串,只显示第一个查找到的位置
字符串操作相关的函数
20. split() 字符串切割函数(使用特定的字符串)
a = '人生@苦短@我用@python@搞开发'
b=a.split('@',3) #字符串中找到@符号的位置用后面指定的逗号符号进行切割,3字表示只切割三次
print(b)
21. join() 使用特定字符串将容器数据连接成一个字符串
a = '人生苦短,我用,python,搞开发'
b='~-~ '.join(a) # 使用笑脸符号将数据中的逗号替换连接
print(b)
22. zfill() zero fill 零填充效果(指定数据长度,不够的部分使用0填充到足够的长度)
a = '12345'
b = a.zfill(9) # 指定长度为9位数
print(b) # 不够九位数前面填4个0
23. center() 使用指定字符将字符串填充到指定长度(原有内容居中对齐)
a = '12345'
b = a.center(10,@) # 前面写填充的长度,后面写指定的填充符号(默认填充符号为空格键)
print(b)
24. ijust() 使用指定字符将字符串填充到指定长度(原有内容靠左对齐)
a = '12345'
b = a.ijust(8,@) # 前面写填充的长度,后面写指定的填充符号(默认填充符号为空格键)
print(b)
25. rjust() 使用指定字符将字符串填充到指定长度(原有内容靠右对齐)
a = '12345'
b = a.rjust(9,@) # 前面写填充的长度,后面写指定的填充符号(默认填充符号为空格键)
print(b)
26. strip() 去除字符串左右两侧指定的 连续字符 (不写指定数据的话,默认去掉空格)
a = '1111114353431111111'
b = a.strip('1') # 左右两侧的连续 1 被删除
print(b)
27. lstrip() 去除字符串左侧指定的 连续字符
a = '1111114353431111111'
b = a.lstrip('1')
print(b)
28. rstrp() 去除字符串右侧指定的 连续字符
a = '1111114353431111111'
b = a.rstrip('1')
print(b)
29. replace() 字符串的替换操作
a = '1111114353431111111'
b = a.replace(1,2,10) #前面写需要替换的数据,后面填新的数据,最后是需要替换的次数,不写次数就全部替换)
print(b) #将数据1 替换成 2,10次
30. format()
字符串格式化操作:
% 格式化操作:
基本格式: 字符串 % 格式化使用的数据
%d 要格式化一个整数
%f 要格式化一个浮点型(默认小数点6位)
%s 要格式化一个字符串
%c 要格式化一个ascii码
%u 要格式化一个无符号整型
%o 要格式化一个无符号的八进制整型
%x 要格式化一个无符号的十六进制
%e 要格式化一个科学计数法的浮点型
%E 要格式化一个科学计数法的浮点型
%p 使用十六进制格式化变量地址
元组格式化操作:
print('我的老师是:%s ,我的年龄是:%d ,我的身高是:%f 米' %('丛浩',18,1.72))
精度设定:(只针对于浮点型)
%.5f 表示精确到小数点后五位
宽度设定:
%8s 表示格式化之后的字符是8位不够数填充空格
对齐方式设定:
%-8s 设定-为对齐符号,右侧填充,内容靠左。(不设定对齐符号的时候左侧填充内容靠右)
零填充效果:
%0长度d 长度为n,需要多少填多少,不够的长度使用0填充而不是默认的空格(不是什么符号都可以,只能使用0)
正负号显示效果:
%+d 表示正数显示 + 值,负数显示 - 值。
上面用到的四个符号: . - + 0 叫做标表。
format 函数格式化操作。
基本格式:
a1 = '我的爱好是好好学习{}'
b2 = a1.format('python')
print(b2)
提升操作:(多个占位符,传多个参数)
a1 = '我的爱好是好好学习{},{},{}'
b2 = a1.format('python','努力赚钱','然后天天吃肉')
print(b2)
传入多个数据:(使用关键字传入)
a1 = '1{a},2{b},3{c},4{d},5{e}'
b2 = a1.format(a=9,b=8,c=7,d=6,e=2)
print(b2)
参数是一个容器的传入方式:(在占位符中进行拆分)
a1 = 'a{0[0]},b{0[1]},c{0[2]},d{0[3]},e{0[4]}' # 0表示b2列表,[0][1][2]....表示列表中值的位置
b2 = [9,8,7,6,5]
c3 = a1.format(b2)
print(c3)
限定符号: (使得格式化具有更多功能的符号)
对齐限定符号:
1. < 靠左对齐符号
a1 = '我的汽车是{0:@<10}' # 把0参数拿过来,总共十个长度字符靠左对齐,不够字符用@填充
b2 = a1.format('福特锐界')
print(b2)
2. > 靠右对齐符号
a1 = '我的汽车是{0:@>10}' # 把0参数拿过来,总共十个长度字符靠右对齐,不够字符用@填充
b2 = a1.format('福特锐界')
print(b2)
3.^ 居中对齐符号
a1 = '我的汽车是{0:@^10}' # 把0参数拿过来,总共十个长度字符居中对齐,不够字符用@填充
b2 = a1.format('福特锐界')
print(b2)
对齐相关格式: 参数位置 : 填充符号 对齐符号 总长度
0 : @ < 10
进制转换限定符号:(必须在冒号的后面使用)
1. d 十进制
a1 = '我的福特锐界花了{0:d}万巨款'
b2 = a1.format(34)
print(b2)
2. b 二进制
a1 = '我的福特锐界花了{0:b}万巨款'
b2 = a1.format(34)
print(b2)
3. o 八进制
a1 = '我的福特锐界花了{0:o}万巨款'
b2 = a1.format(34)
print(b2)
4. x 十六进制
a1 = '我的福特锐界花了{0:x}万巨款'
b2 = a1.format(34)
print(b2)
精度限定符号:
1. .2f 表示小数点后面保留两位
a1 = '小明一个月的零花钱是{0:.5f}万巨款' #表示小数点后保留五位
b2 = a1.format(1.23456789)
print(b2)
金融数字限定符号:
1. , 逗号符号,表示数字从右向左,每三位数添加一个逗号(只能是整数)
a1 = '小明家的银行存款有{0:,}巨款'
b2 = a1.format(123456789)
print(b2) # 结果为:123,456,789
字符集:(多种字符的集合就是字符集)
bytes 不是6大数据类型与字符串类型相似的一种数据类型,与字符相关(计算机的语言代码)
1.字符串计算机不会识别
2.将字符串转换为计算机能够识别的数据(bytes类型)
bytes类型和string类型的相互转换:
1. encode() 将字符串编码转换成bytes类型
a1 = '小明准备收购中国工商银行'
b2 = a1.encode()
print(b2,type(b2))
2. decode() 将bytes类型解码成字符串类型
a1 = '小明准备收购中国工商银行'
b2 = a1.encode() #将字符串转为bytes类型
print(b2,type(b2)) #打印bytes类型
c3 = b2.decode() #将打印的b2 bytes类型转为字符串
print(c3,type(c3))
ascii码本质上就是一个字符和数字的对照表(是美国标准信息交换代码)
常用代码:a - z 对应的编码:97 - 122
A - Z 65 - 90
0 - 9 48 - 57
问题:仅满足英文的使用
‘’’