一.格式化字符串的方法(下)
1.位置索引和关键字索引可以组合在一起使用
2.字符串格式化语法
[align],指定对齐的方式。如{1:>10},花括号内(除冒号外)从左往右依次是 位置索引 对齐方向 显示宽度
值 | 含义 |
---|---|
'<' | 强制字符串在可用空间内左对齐(默认) |
'>' | 强制字符串在可用空间内右对齐 |
'=' | 强制将填充放置在符号(如果有)之后数字之前的位置(适用于以“+000000120”的形式打印字符串) |
'^' | 强制字符串在可用空间内居中 |
3.符号选项
值 | 含义 |
+ | 正数在前面添加+,负数在前面添加 - |
- | 只有负数在前面添加符号 -,默认行为 |
空格 | 正数在前面添加一个空格,负数在前面添加 - |
4.精度选项
只需要填入一个十进制的整数,对于不同类型的参数,效果不同
- 对于[type]设置为'f'或'F'的浮点数来说,是限定小数点后显示多少位
- 对于[type]设置为'g'或'G'的浮点数来说,是限定小数点前后一共显示多少位
- 对于非数字类型来说,限定的是最大字段的大小
- 对于整数来说,不允许使用[.precision]选项
5.type类型选项
该选项决定了数据应当如何呈现
值 | 含义 |
---|---|
b | 将参数以二进制的形式输出 |
c | 将参数以Unicode字符的形式输出 |
d | 将参数以十进制的形式输出 |
o | 将参数以八进制的形式输出 |
x | 将参数以十六进制的形式输出 |
X | 将参数以十六进制的形式输出 |
n | 与d类似,不同之处在于它会使用当前语言环境设置的分隔符插入到恰当位置 |
None | 与d一样 |
值 | 含义 |
---|---|
e | 将参数以科学计数法的形式输出,默认精度为6 |
E | 将参数以科学计数法的形式输出,默认精度为6 |
f | 将参数以定点表示法的形式输出,默认精度为6 |
F | 将参数以定点表示法的形式输出,默认精度为6 |
g | 通用格式,小数以f的形式输出,大数以e的形式输出 |
G | 通用格式,小数以F的形式输出,大数以E的形式输出 |
n | 与g类似,不同之处在于它会使用当前语言环境设置的分隔符插入到恰当位置 |
% | 以百分比的形式输出 |
None | 与g类似,不同之处在于当使用定点表示法时,小数点后将至少显示一位;默认精度与给定值所需精度一致 |
python支持通过关键字参数来设置选项的值
6.f-字符串
式子前+f 或者F效果一样
二.序列
1.列表,元组,字符串的共同点
- 都可以通过索引获取每一个元素
- 第一个元素索引值都是0
- 都可以通过切片的方法获取一个范围
- 都有很多共同的运算符
- 列表,元组,字符串都统称为序列
2.序列分类
根据是否能被修改这一特征,可将序列分为可变序列和不可变序列。比如,列表就是一个典型的可变序列,而元组和字符串则是不可变序列
3.能够作用于序列的一些运算符
运算符:+ * 序列加法表示两个序列进行拼接,乘法表示将序列进行重复,也就是拷贝
(1)增量赋值:在赋值的过程中同时进行计算
(2)在python中,每一个对象都有三种基本属性
- 唯一标志(对象创建的时候就有,不可被修改,不会有重复的值)
- 类型
- 值
(3)id()是BIF函数,作用就是返回一个代表指定对象的唯一标识的整数值
运算符:is和is not,用于检测id值是否相等,从而判断是否是同一个对象,也被称为同一性运算符
运算符:in和in not, 用于判断某个元素是否包含在序列中 如"鱼" in "鱼C"返回True
del语句:用于删除一个或多个指定的对象;用于删除可变序列中的指定元素
4.跟序列相关的一些函数
(1)列表,元组,字符串相互转换的函数 list(),tuple(),str()
(2)对比传入的参数,返回最大值和 最小值 max(),min(),它们都有两种函数原型
第一种,传入的是可迭代对象
第二种,传入多个参数,自动找出最小最大值
(3)len()有最大可承受范围,对于32位平台来说,最大值是二的三十一次方减一;对于64位平台来说,最大值是二的六十三次方减一
(4)sum()计算求和,有一个start参数,用于指定求和对象的起始值
(5)sorted()和reversed()
注:sort是列表的方法 ,只能够处理列表,但sorted可以接受任何可迭代对象作为参数
reversed返回的是一个参数的反向迭代器,支持任何形式的可迭代对象
(6) all()函数,判断可迭代对象中是否所有元素值都为真;any()函数,判断可迭代对象中是否存在某个元素值为真
(7)enumerate()函数,用于返回一个枚举对象,功能是将迭代对象中的每个元素从开始的序号共同构成一个二元组的列表,它还有一个start参数,可以用来自定义这个序号开始的值
(8)zip()函数,用于创建一个聚合多个可迭代对象的迭代器。它会将作为参数传入的每个可迭代对象的每个元素依次组合成元组,即第i个元组包含来自每个参数的第i个元素。
(9)map()函数,根据提供的函数对指定的可迭代对象的每个元素进行运算,并返回运算结果的迭代器. 第一个参数提供的是计算方法,比如ord,就是传一个字符,可求出该字符对应的unicode编码,第二个参数是传入第一个参数的对象
(10) filter()函数,根据提供的函数对指定的可迭代对象的每个元素进行运算,并将运算结果为真的元素,以迭代器的形式返回。(map函数返回的是包含计算结果的迭代器,filter函数返回的是计算结果为真的元素构成的迭代器)
5.迭代器vs可迭代对象
一个迭代器肯定是一个可迭代对象
可迭代对象可以重复使用,而迭代器是一次性的
iter()函数,使可重复使用的迭代对象变成一次性的迭代器
next()函数,将迭代器中的元素逐个提取出来