目录
字符串拼接
1. 通过+对字符串进行拼接
示例:
str1 = 'python'
str2 = 'hello'
print(str1 + str2) # 输出结果:pythonhello
# 此种方法输出会在中间加空格
print(str1, str2) # 输出结果:python hello
2. 使用字符串的join方法进行拼接
示例:
str1 = 'python'
str2 = 'hello'
j = '---'
str3 = j.join((str1, str2))
print(str3) # 输出结果:python---hello
# 或者
str1 = 'python'
str2 = 'hello'
str3 = ' '.join((str1, str2))
print(str3) # 输出结果:python hello
# 或者
str1 = 'python'
str2 = ' '.join(str1)
print(str2) # 输出结果:p y t h o n
符串格式化输出
1. format格式化输出(常用方式,必须掌握)
示例:
str1 = '今天收到{}, 交来{}{}。开此收据为凭证。'
str2 = str1.format('flora', '学杂费', 666)
print(str2) # 输出结果: 今天收到flora, 交来学杂费666。开此收据为凭证。
# 或:
print('今天收到{}, 交来{}{}。开此收据为凭证。'.format('flora', '学杂费', 666))
通过索引来控制填充的位置:
name = input('请输入名字:')
info = input('请输入费用信息:')
money = input('请输入金额:')
print('今天收到{2}, 交来{1}费用{0}。开此收据为凭证。'.format(money, info, name))
保留指定小数位数:
name = input('请输入名字:')
info = input('请输入费用信息:')
money = float(input('请输入金额:'))
print('今天收到{}, 交来{}费用${:.2f}。开此收据为凭证。'.format(name, info, money))
指定占位的字符串长度:
# 默认左对齐
print('python:{:10}AAAAAAAAAAAAAAA'.format('123'))
# 输出结果:python:123 AAAAAAAAAAAAAAA
# 左对齐
print('python:{:<10}AAAAAAAAAAAAAAA'.format('123'))
# 输出结果:python:123 AAAAAAAAAAAAAAA
# 右对齐
print('python:{:>10}AAAAAAAAAAAAAAA'.format('123'))
# 输出结果:python: 123AAAAAAAAAAAAAAA
# 居中对齐
# 居中对齐
print('python:{:^10}AAAAAAAAAAAAAAA'.format('123'))
# 输出结果:python: 123 AAAAAAAAAAAAAAA
指定内容填充:
# 左对齐,以*填充
print('python:{:*<10}AAAAAAAAAAAAAAA'.format('123'))
# 输出结果:123*******AAAAAAAAAAAAAAA
# 右对齐,以-填充
print('python:{:->10}AAAAAAAAAAAAAAA'.format('123'))
# 输出结果:-------123AAAAAAAAAAAAAAA
# 居中对齐,以@填充
print('python:{:@^10}AAAAAAAAAAAAAAA'.format('123'))
# 输出结果:@@@123@@@@AAAAAAAAAAAAAAA
百分比显示效果:
print('百分比:{:.2%}'.format(0.89))
# 输出结果:百分比:89.00%
2. 传统的%格式化输出
%s:万能占位符,可以接收任意类型的数据。
%d:数值占位符,以整数的形式显示。
%f: 数值占位符,以小数的形式显示。
示例:
print('今天收到%s, 交来%s%d。开此收据为凭证。' % ('flora', '学杂费', 666.98))
# 输出结果: 今天收到flora, 交来学杂费666。开此收据为凭证。
print('今天收到%s, 交来%s%f。开此收据为凭证。' % ('flora', '学杂费', 666))
# 输出结果: 今天收到flora, 交来学杂费666.000000。开此收据为凭证。
print('今天收到%s, 交来%s%.2f。开此收据为凭证。' % ('flora', '学杂费', 666.909090))
# 输出结果:今天收到flora, 交来学杂费666.91。开此收据为凭证。
3. F表达式格式化输出
示例:
name = input('请输入名字:')
info = input('请输入费用信息:')
money = input('请输入金额:')
print(F'今天收到{name}, 交来{info},{money}。开此收据为凭证。')
字符串转义
反斜杠\表示转义
\t:制表符(tab键)
\n:换行符
\\:表示1个反斜杠\
示例:
print('python\thello')
# 输出结果:python hello
print('python2\nhello2')
# 输出结果:
# python2
# hello2
关闭字符串转义:r防转义
print(r'python\thello')
# 输出结果:python\thello
print(r'python2\nhello2')
# 输出结果:python2\nhello2
字符串的常见操作方法
1. count查找字符串中某个字符串的个数
示例:
print('123aa123bb123cc123dd'.count('123'))
# 输出结果:4
2. find查找字符串中某个字符串出现的第一个下标(索引)位置
示例:
print('123aa123bb123cc123dd'.find('aa'))
# 输出结果:3
3. replace替换字符串中的某个字符串,默认替换所有
示例:
print('123aa123bb123cc123dd'.replace('123', '*'))
# 输出结果:*aa*bb*cc*dd
# 可控制替换的次数
print('123aa123bb123cc123dd'.replace('123', '*', 1))
# 输出结果:*aa123bb123cc123dd
4. upper将字符串中的小写字母变成大写字母
示例:
print('Hello World 132'.upper())
# 输出结果:HELLO WORLD 132
5. lower将字符串中的大写字母变成小写字母
示例:
print('Hello World 132'.lower())
# 输出结果:hello world 132
6. split字符串分割
示例:
# 以空格方式进行分割,返回的是个列表
print('Hello World 132'.split(' '))
# 输出结果:['Hello', 'World', '132']
# 使用join方法反向操作
print(' '.join(['Hello', 'World', '132']))
# 输出结果:Hello World 132
# 输出结果:Hello World 132