Python格式化输出之format函数

format函数是Python中一个很强大的格式化输出函数,使用花括号{}来占位,下面结合代码来讲述format函数的用法。

一、匹配顺序

print('姓名:{},年龄:{}'.format('张三', 25))

运行结果:姓名:张三,年龄:25

可以看出,format将根据顺序对前面的花括号进行匹配输出。当然,花括号内也可以写上序号,对format中的内容进行匹配,如下代码所示:

print('姓名:{0},年龄:{1}'.format('张三', 25))

运行结果:姓名:张三,年龄:25

print('姓名:{0},年龄:{0}'.format('张三', 25))

运行结果:姓名:张三,年龄:张三

甚至还可以通过类似字典的方式指定映射输出:

print('姓名:{n},年龄:{a}'.format(n='张三', a=25))

运行结果:姓名:张三,年龄:25

对于列表,format也提供了很方便的输出:

person= ['张三' , 25]
print('姓名:{0[0]},年龄:{0[1]}'.format(person))

运行结果:姓名:张三,年龄:25

花括号内,第一个0表示format()函数内参数的序号。对于字典:

person= {'姓名':'张三' , '年龄':25}
print('姓名:{0[姓名]},年龄:{0[年龄]}'.format(person))

运行结果:姓名:张三,年龄:25

注意:中括号内的key是不用引号引起来的。如果改成{0[“姓名”]}就会报错。

二、对齐与宽度

format使用>、^、<来表示左对齐、居中对齐、右对齐。在对齐符号(>、^、<)后面加上的数字,表示宽度,在对齐符号之前加上特定字符表示当输出的内容不足以占满宽度时,以特定字符填充。

print('姓名:{:0^8},年龄:{:*>4}'.format('张三', 25))

运行结果:姓名:000张三000,年龄:**25

注意:冒号不能少。

三、精度

print('{:.3f}'.format(123.45678))

输出结果:123.457

最后一个数字之所以是7,是因为format会对数据进行四舍五入。

四、千位分隔符

print('{:,}'.format(123456789))

输出结果:123,456,789

五、进制数输出

b、d、o、x分别是二进制、十进制、八进制、十六进制
print('{:b}'.format(10))
输出结果:1010
六、总结
先给出一个综合应用:
print('{0:*^20,.3f}  {1:*>20,.3f}   {1:-^15}'.format(12345.6789, 5647854.12452,'我是字符串'))
可以看出,冒号之前的数字实际上是序号,当format内只有一位元素需要输出时,这个序号可以省略(冒号不能省略)。另外,限定的顺序不能搞错,在{}内,第一是元素序号,第二是冒号,第三是特定补充符号,第四对齐方式,第五宽度,第六千分位分隔符号,第七精度。
以上内容纯属个人总结,有误请联系我。

  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值