字符串格式化 format []都是可选的,可填可不填
格式:[[fill][align][sign][#][0][width][,][.precision][type]
fill 填充字符
align 对齐方式
^ 居中 s = "{:-^20d}".format(20) -----20-----
< 内容左对齐 s = "{:-<20d}".format(20) 20----------
> 内容右对齐 s = "{:->20d}".format(20) ----------20
= 内容右对齐,将符号放在填充字符的左侧,只对数字有效
sign 有无符号数字(感觉用处不大)
+ 正数加+ 负数加- s = "{:+d} this is Numbers".format(-20) -20
- 正数不变 负数加- s = "{:-d} this is numbers".format(23) 23
空格 正数空格 负数加- s = "{: d} this is numbers".format(23) 23
# 对数字有效,对于二、八、十六进制,会对应显示 0b 0o 0x s = "{:#0x}".format(213)
width 格式化字符宽度 s = "{:-^20d}".format(20)
, 对大的数字有效,添加分隔符 如1,000,000 s = "{:,d}".format(2000000000) 2,000,000,000
.precision 小数位保留精度 s = "{:.2f}".format(12.2323) 12.23
type 格式化类型
s 字符串 s = "this is {}".format("string")
b 十进制转二进制表示 然后格式化 s = "{:d}".format(23) 10111
d 十进制
o 十进制转八进制表示 然后格式化 s = "{:o}".format(23) 27
x 十进制转十六进制表示 然后格式化 s = "{:x}".format(23) 17
f 浮点型 默认小数点保留6位
% 显示百分比 默认小数点后6位 s = "{:.2%}".format(0.1234)
参数可用[]及{} ,使用时必须加*,**
s = "my name is {},age is {}".format(*["niu", 25])
s = "my name is {name}, age is {age}".format(**{"name": "niu", "age": 25})
info3 = '''---info in {_name}---
name:{_name}
age:{_age}
sex:{_sex}
'''.format(_name=name,
_age=age,
_sex=sex)
info4 = '''---info in {0}---
name:{0}
age:{1}
sex:{2}'''.format(name, age, sex)