day10-总结

day10总结

  • 字符串相关函数
  • 字符串相关方法
  • 格式字符串

一,字符串相关函数

1.相关函数: len、str 、eval

str(数据) - 将指定数据转换成字符串(任何类型的数据都可以转换成字符串;

转的时候是直接在数据的打印值外面加引号)

str(100)    # '100'
str(True)   # 'True'

eval(字符串) - 计算字符串表达式的结果

str2 = '{10: 20, "abc": 30}'        # {10: 20, 'abc': 30}
result = eval(str2)
print(result, result[10])

二、相关方法

1.join

字符串.join(序列) - 将序列中的元素用指定字符串拼接成一个字符串(序列中的元素必须是字符串)

list1 = ['name', 'age', 'gender']
result = '+'.join(list1)
print(result)   # 'name+age+gender'
result = ''.join(list1)
print(result)   # 'nameagegender'

2.split

字符串1.split(字符串2) - 将字符串1中所有的字符串2作为切割点对字符串进行切割

字符串1.split(字符串2,N) - 将字符串1中前N个字符串2作为切割点对字符串进行切割

字符串1.rsplit(字符串2,N) - 将字符串1中倒数前N个字符串2作为切割点对字符串进行切割

# 注意1:如果切割点在字符串的开头或者结尾,切完后会出现空串
str1 = '*123*abc*mn*'
result = str1.split('*')
print(result)       # ['', '123', 'abc', 'mn', '']

# 注意2:如果切割点连续出现,切完后也会出现空串
str1 = '123**abc*mn'
result = str1.split('*')
print(result)       # ['123', '', 'abc', 'mn']

str1 = '123*abc*mn*xyz*你好'
result = str1.split('*', 2)
print(result)

result = str1.rsplit('*', 2)
print(result)

3、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?'
# 'how are me? i am fine, thank me! and me?'
result = str1.replace('you', 'me')
print(result)       # 'how are me? i am fine, thank me! and me?'

4、替换字符

str.maketrans(字符串1,字符串2) - 创建字符串1中所有字符和字符串2中所有字符一一对映关系表

字符串.translate(字符对映表) - 按照字符对映表的关系将字符串中的字符进行替换

str1 = 'abnsmahsjdbmnsdxybksdall'
# '12nsm1hsjd2mnsdxy2ksd1ll'
table = str.maketrans('ab', '12')
result = str1.translate(table)
print(result)

5、删除字符串两端的空白

字符串.strip() - 删除字符串两边的空白

字符串.rstrip() - 删除字符串两边的空白

字符串.lstrip() - 删除字符串两边的空白

字符串字符串.strip(/) - 删除字符串两边的/

6、count - 统计个数

字符串1.count(字符串2) - 统计字符串1中字符串2出现的次数

str1 = 'how are you? i am fine, thank you! and you?'
print(str1.count('o'))
print(str1.count('you'))

三、格式字符串

1.格式字符串:包含格式占位符的字符串 % (数据1,数据2,数据3,…)

注意()中数据必须和字符串中占位符一一对应

2、格式占位符

%s - 字符串占位符,可以对应任何类型的数据

%d - 整数占位符,可以对应任何数字

%f - 浮点数占位符,可以对应任何数字

%.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’{表达式}’ - 将{}中表达式的值作为字符串内容拼接到字符串中

a = 100
result = f'a:{100 + 200 + a}, b:{"abc"[-1]}'
print(result)      # a:400, b:c

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元

c.显示百分比

f’{表达式: .N%}’ - N控制百分数的小数位数

x = 0.34   # 34%
result = f'增长率:{x:.1%}'
print(result)

d.控制长度

f’{表达式: 字符>N}’ f’{表达式: 字符<N}’

num = 8
result = f'py2101{num:0>3}'
print(result)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值