DAY10学习总结:
字符串相关函数:
-
相关函数(len str eval)
- str(数据) —— 将指定数据转换成字符串(数据可以是任何类型,转的时候是直接将数据的打印值直接加引号)
- eval(字符串) —— 计算字符串表达式的结果
-
如果在一个字符串前头加 r/R,可以让字符串中的所以转义字符功能消失,变成普通字符。
-
str1=r'\\a123456' # \\a123456
-
字符串相关方法:
-
字符串.join(序列) — 将序列中的元素用指定字符串拼接成新的字符串(序列中的元素必须是字符串)
-
list1=['name','age','gender'] result='+'.join(list1) # name+age+gender
-
-
split
-
字符串1.split(字符串2) —— 将字符串1所有的字符串2作为切割点
-
字符串1.split(字符串2,N) —— 将字符串1中N个字符串2作为切割点
-
字符串1.rsplit(字符串2,N) —— 将字符串1中N个字符串2作为切割点,但是是从后往前切
-
注:切割点在开头或者结尾或者连续出现切割点,则开头或结尾及连续切割点中间会返回一个空串
-
str1='abc*123*XYZ' result=str1.split('*') # ['abc', '123', 'XYZ'] result2=str1.split('*',1) # ['abc', '123*XYZ'] result3=str1.rsplit('*',1) # ['abc*123', 'XYZ']
-
-
replace
-
字符串1.replace(字符串2,字符串3) —— 将字符串1中的字符串2全部替换成字符串3
-
字符串1.replace(字符串2,字符串3,N) —— 将字符串1中的N个字符串2替换成字符串3
str1='how are you ? I am fine,thank you,and you!' str2=str1.replace('you','me') # how are me ? I am fine,thank me,and me! str3=str1.replace('you','me',1) # how are me ? I am fine,thank you,and you!
-
-
translate
-
str.maketrans(字符串1,字符串2) —— 创建一个字符串1和字符串2的对应表
-
字符串.translate(字符对映表) —— 按照字符对映表的关系将字符进行替换
-
str1='今天星期1,昨天星期2,喜欢星期5的晚上,讨厌星期7的晚上' table=str.maketrans('1234567','一二三四五六七') result=str1.translate(table) print(result) # 今天星期一,昨天星期二,喜欢星期五的晚上,讨厌星期七的晚上
-
-
删除字符串两端的空白
- 字符串.strip() —— 去掉两边的空白
- 字符串.rstrip() —— 去掉右边的空白
- 字符串.lstrip() —— 去掉左边的空白
-
count —— 统计个数
-
字符串1.count(字符串2) —— 统计字符串1中字符串2出现的次数
-
str1='how are you ? I am fine,thank you,and you!' str2=str1.count('you') print(str2) # 3
-
格式字符串:
-
字符串拼接
-
message=name+'今年'+str(age)+'岁'
-
-
格式字符串
-
格式字符串:包含格式占位符的字符串%(数据1,数据2,数据3,…)
-
注意:()中的数据必须和字符串中占位符一一对应
-
%s —— 字符串占位符,对应任何类型的数据
-
%d —— 整数占位符,可以对应任何数字
-
%f —— 浮点数占位符,对应任何数字
-
%Nf —— 浮点数占位符并且保留N位小数
-
注:建议如果不控制小数位数可以全部使用%s
-
name='小米' gender='男' age=22 money=5000 str='%s,性别:%s,年龄:%d,月薪:%2f元' % (name,gender,age,money) print(str)
-
-
f-string
-
基本用法:f’{表达式}’ —— 将{}中表达式的值作为字符串内容拼接到字符串中
-
message=f'{name},性别:{gender},年龄:{age},月薪:{money}元'
-
高级用法:f’{提供数据的表达式:参数}’
-
# a.控制小数位数的参数 —— f'{表达式:.Nf}' money=228.10 print(f'{money:.1f}') # 228.1 # b.金额数值加逗号即 180,000,000 money=180000000 print(f'{money:,}') print(f'{money:,.2f}') # 180,000,000.00 (逗号后面加.Nf) # c.显示百分比 f'{表达式:.N%}' —— 保留小数点后N位的百分数 x=3/4 print(f'{x:.2%}') # 75.00% # d.控制长度 f'{表达式:0>3}' (0 > 3均可变化,0表示添加的东西,>表示在前面添加,3表示空出位数) num=int(input('输入一个小于1000的数字:')) result=f'py1901{num:*>3}' print(result) 参考day9作业题
-