10.字符串
1.字符串相关操作和函数
1.字符串相关运算符
数学运算符
== 、 !=
比较大小: <=、>=、<、>
比较的是第一段不相等的字符串的编码值
“”"
应用:比较字符串大小来判断字符的类型
判断是否是数字字符:‘0’ <= i <= ‘9’
判断中文 : ‘\u4e00’ <= i <= ‘\u9fa5’
“”"
比较运算符
max , min , sorded() # 编码值
len
str(数据) - 将数据装换成字符串
所有的数据都可以转换成字符串
转换的时候在数据的打印值加引号
eval
eval(字符串) - 将字符串的内容转换成有效代码计算结果
去掉引号,加painr(),里面是什么类型就打印什么类型
去掉引号,里面不合法,会报错。
2.字符串相关方法
center - 两边填充
rjust - 左边填充
ljust - 右边填充
zfill - 前面填充0
str1 = ‘wer’
print(str1.center(7, ‘^’))
print(str1.rjust(7, ‘^’))
print(str1.ljust(7, ‘^’))
print(str1.zfill(7))
2.count - (字符2,开始下标,结束下标)
字符串1.count(字符串2) - 统计字符串1中有几个字符2
字符串1.count(字符2,开始下标,结束下标)
3.endswith - 字符串1.endswith(字符串2) 是不是以字符串2结尾
4.find - 字符串1.find(字符串2) 第一个位置的下标 没有返回-1
index 第一个位置的下标 没有就报错
rfind - 右往左查
rindex - 左往右查
5.join
字符串.join(序列)
序列必须是字符串
练习:将nums中所有数字的第一位连接在一起
[10, 23, 89, 902] -> ‘1289’
nums = [10, 23, 89, 902]
result = ‘’.join([str(i)[0] for i in nums ])
print(result)
6.lower / upper
字符串.lower() - 转换字符串为小写字母
字符串.upper() - 转换字符串为大写字母
7.strip / lstrip / rstrip
#strip - 去掉前后空白
8.translate / maketrans
maketrans —— 先创建一个制表符 table = str.maketrans(‘asd’,‘123’)
translate —— 调用制表符 准备替换的str.translate(table)
9.replace
字符串1.replace(字符串2,字符串3,N) - 将字符串1中的字符串2 ,替换成字符串3,N指替换前几个,不加就全部替换
10.split
字符串1.split(字符串2,N) 切割,以字符串2为切点,N指切割前N个
3.字符串格式化
字符串格式化背景
字符串拼接
格式字符串 - 占位符%(数据1,数据2)
格式占位符:
%s - 所有类型填充
%d - 整数占位符,只能保存数字(小数取整)
%f - 浮点数占位符,默认保留6位小数
%nf - 保留n位小数 (四舍五入)保留小数
%c - 字符占位符(字符和字符编码)
message = ‘%s今年%d岁!’ % (name,age)
print(message)
3.1
#加参数1
{变量:.2f} 取变量的小数
3.2
参数2
#{变量:,}
money = 1900000
print(f’年薪:{money:,}’) # 1,900,000
3.3
#{变量:,.2f}
money = 1900000
print(f’年薪:{money:,.2f}’) # 年薪:1,900,000.00
3.4
:填充字符(填充什么)> 5(长度) - 填充字符没有,用空格填充
num = 4
print(f’{num:0>4}’)
#print(’{1}今年{0}岁!!’.format(name, age))