格式化输出
字符串拼接
str1 + str2 + str3
''.join('abcdef')
' %s %s %s '%(str1,str2,str3)
' {} {} {} '.format(obj1,obj2,obj3)
' {0} {1} {2} '.format(obj1,obj2,obj3)
大括号内可指定索引拼接
' {1} {0} {2} '.format(obj1,obj2,obj3)
' {n0} {n1} {n2} '.format(n1=obj1,n0=obj2,n2=obj3)
大括号内可指定关键字
字符串格式化
%s %字符串
%d %数字
%f %浮点数
%.if 保留i位小数,四舍五入(左闭右开,5取不到)
%c %ASCII字符
%o %8进制
%x %16进制
%e %科学计数法
%xf 确定总长度不足用空格补全
%r 显示原本的数据类型
' %-6.3f '% 10.3 左对齐
' %+6.3f'% 10.3 显示正负
' %5s ' % "ab" 格式化长度
'{:.2f}'.format(12.333) 保留小数点后两位
'{a:.2f}'.format(a=12.333) 同上
'{:.2%}'.format(0.333) 百分比格式
'{:x}'.format(20) 转换成十六进制
'{:o}'.format(20) 转换成八进制 进制转换的时候用{0:进制}
'{a:<10}'.format(a=12.3,b=13.44) 左对齐,长度为10
'{a:0<10}'.format(a=12.3,b=13.44) 数字补x (填充右边, 宽度为4)
'{a:0>10}'.format(a=12.3,b=13.44) 右对齐...
'{a:0^10}'.format(a=12.3,b=13.44) 两边对齐...
深浅复制
在列表的嵌套中,copy(),只能复制外层
内层列表修改时,复制品的内层列表也会修改
import copy
copy.deepcopy()
全部复制,内层列表与复制品的内层列表毫无关联
二进制序列的应用
bytes和bytearray
a = bytes(4)
bytearray(b'abc')
成员运算
a = [1, 2, 3]
>>> 1 in a
True
>>> 4 in a
False
总结
format拼接时,大括号内可指定索引或关键字决定拼接顺序
字符串格式化最终输出是字符串