PythonClassChy/python27Class/pythonLearningNotes/flora_0208_notes.txt

203 lines
6.4 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

=================================
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]