203 lines
6.4 KiB
Plaintext
203 lines
6.4 KiB
Plaintext
=================================
|
||
Notes
|
||
Author: Flora Chen
|
||
-_- -_- -_- -_- -_- -_- -_- -_-
|
||
=================================
|
||
|
||
******字符串拼接******
|
||
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
|
||
|
||
******元组和列表******
|
||
列表和元组中可以保存多个数据,可以是任意类型的,每个元素之间用逗号隔开。
|
||
元组tuple: 用小括号来表示
|
||
tup = ('python', 66, 88.88, True, [11, 22, 33])
|
||
|
||
列表list: 用中括号来表示
|
||
li = ['python', 66, 88.88, True, [11, 22, 33]]
|
||
|
||
扩展:
|
||
序列类型的数据:数据内部的元素是由顺序的(有下标)
|
||
序列类型的数据:字符串,列表,元组
|
||
序列类型数据的共同特性:
|
||
1. 可以通过下标取值:通过下标获取数据内的元素
|
||
示例:
|
||
# 正向取值:从前往后数下标,下标从0开始
|
||
print('python'[2]) # 输出结果:t
|
||
print(['python', 66, 88.88, True, [11, 22, 33]][1]) # 输出结果:66
|
||
print(('python', 66, 88.88, True, [11, 22, 33])[0]) # 输出结果:python
|
||
|
||
# 反向取值:从后往前数下标,下标从-1开始
|
||
print('python'[-2]) # 输出结果:o
|
||
print(['python', 66, 88.88, True, [11, 22, 33]][-1]) # 输出结果:[11, 22, 33]
|
||
print(('python', 66, 88.88, True, [11, 22, 33])[-3]) # 输出结果:88.88
|
||
|
||
2. 可以通过切片操作:获取数据中某一段数据,[起始位置:终止位置], 左闭右开
|
||
示例:
|
||
li = ['python', 66, 88.88, True, [11, 22, 33]]
|
||
print('[起始位置:终止位置], 左闭右开:', li[0:3])
|
||
# 输出结果:[起始位置:终止位置], 左闭右开: ['python', 66, 88.88]
|
||
|
||
|