day 8 课程总结
字符串相关函数:len、str、eval
str(数据) 将指定数据转化为字符串(直接在数据的打印值外面加引号)
eval(字符串) 计算字符串表达式的结果
str1 = '[10, 20, 30]'
result = eval(str1)
print(result)
result.append(100)
print(result)
相关方法:
1. join
字符串.join(序列) 将序列中的元素指定字符串拼接一个字符串(序列中的元素必须是字符串)
list1 = ['name', 'age', 'gender']
result = '+'.join(list1)
print(result)
result = '♥'.join('abc')
print(result)
例题:
list1 = [100, 12.8, True, 'abc']
#用'#'将列表中的元素连接起来:100#12.8#True#abc
str1 = [str(i) for i in list1]
result1 = '#'.join(str1)
print(result1)
#将列表中所有的数字数据用'#'连接成一个字符
str2 = [str(i) for i in list1 if type(i) in (int, float)]
result2 = '#'.join(str2)
print(result2)
2.split
字符串1.split(字符串2) 将字符1中的字符串2作为切割点对字符串进行切割从后往前)
切完之后为列表,切点在开头或结尾或连续几个切点,结果为空串(’’)
字符串1.split(字符串2, N) 将字符串1中前N个的字符串2作为切割点对字符串进行切割
str1 = '*123*abc*ABC*456*def*DEF*'
result1 = str1.split('*')
result2 = str1.split('*', 4)
print(result1)
print(result2)
3.replace
字符串1.replace(字符串2, 字符串3) 将字符串1 中所有的字符串2换成字符串3
字符串1.replace(字符串2, 字符串3, N) 将字符串1中前N个的字符串2换成字符串3
例:
```python
str1 = 'how are you? i am fine, think you, and you?'
result1 = 'me'.join(str1.rsplit('you', 2))
print(result1)
str1 = 'how are you? i am fine, think you, and you?'
str2 = str1[::-1]
print(str2)
str3 = str2.replace('uoy', 'em')
str1 = str3[::-1]
print(str1)
```
4.替换字符
str.maketrans(字符串1, 字符串2) 创建字符串1中所有字符和字符串2中所有字符一一对应关系
字符串.translate(字符对应表) 按照字符对应表的关系进行替换
例:
str3 = '今天星期1,昨天星期7,明天星期2,最喜欢的是星期5晚上,最不喜欢的是星期1早上'
table = str.maketrans('1234567', '一二三四五六天')
result = str3.translate(table)
print(result)
5.删除字符串两端的空白
字符串.strip() 删除字符串两边的空白
字符串.rtrip() 删除字符串右边的空白
字符串.ltrip() 删除字符串左边的空白
6.统计个数
字符串1.count(字符串2) 统计字符串1中字符串2出现的次数
格式字符串
1. 格式字符串:
包含格式占位符的字符串 % (数据1, 数据2, 数据3,…);()中的数据必须和字符串中占位符一一对应
2.格式占位符
%s - 字符串占位符,可以对应任何类型的数据
b. %d - 整数占位符,可以对应任何数字
%f - 浮点数占位符,可以对应任何数字,如果不控制小数位数可以全部使用%s占位
%.Nf - 浮点数占位符,可以对应任何数字,让数字保留N位小数
例:
# xxx, 性别:x, 年龄: xx, 月薪:xxxxx.00元!
# 变量 = '%s, 性别:%s, 年龄: %d, 月薪:%f元!' % (name, gender, age, money)
message = '%s, 性别:%s, 年龄:%d, 月薪: %.2f元!' % (name, gender, age, money)
print(message)
x = '%s-%d-%.2f' % (2.342, 2.342, 2.342)
print(x)
3.f-string
1. 基本用法
语法: f’{表达式}’ - 将{}中表达式的值作为字符串内容拼接到字符串中
message = f'{name}, 性别:{gender}, 年龄:{age}, 月薪:{money}元!'
print(message)
a = 100
result = f'a:{100 + 200 + a}, b:{"abc"[-1]}'
print(result)
2. 加参数
语法:f’{提供数据表达式:参数}’
a. 控制小数位数的参数
f’{表达式:.Nf}’ - 保留N位小数
money = 223.8
result = f'金额:{money:.2f}元'
print(result)
b.金额数值显示加逗号
只加逗号:f’{表达式:,}’
加逗号并且控制小数位数: f’{表达式:,.Nf}’
money = 1800000
result = f'金额:{money:,}元'
print(result) # 金额:1,800,000元
result = f'¥{money:,.2f}'
print(result) # ¥1,800,000.00
c.显示百分比:
f’{表达式:.N%}’ N控制百分数的小数位数
x = 0.34
result = f'增长率:{x:.1%}'
print(result)
d.控制长度
f'{表达式:字符>N}'
f’{表达式:字符<N}’
num = 8
result = f'py2101{num:0>3}'
print(result)