Python格式化输出format()函数

《Python格式化输出format()函数》

简介

上文中已经介绍了字符串格式化%方法,事实上字符串格式化操作还能通过format()方法或者f'string'实现。相比于老版的字符串格式化方法,format()方法拥有更多的功能,操作起来更加方便,可读性也更强。

优点

format()方法优点如下:

  • 不需要关注数据类型,而在%方法中%s只能替代字符串类型
  • 单个参数可以多次输出,参数顺序可以不相同
  • 填充方式十分灵活,对齐方式十分强大
  • 官方推荐用的方式,%方式将会在后面的版本被淘汰

两者的简单比较如下:

用法

要调用此方法,只需将格式化内容的位置用大括号{}占位,所有的定义都是在format()函数中执行。

顺序匹配

按顺序匹配的时候,{序号}可加可不加,与'hello {0}, my name is {1}'.format('everyone', 'python')结果相同。

自定义顺序匹配:

键值匹配:

字典方式匹配:

在字典前面加上**,并传入format()函数实现。

对齐方式和填充

数字 格式 输出 描述
5 {:0>2} 05 数字补零 (靠右填充左边, 宽度为2)
5 {:x<4} 5xxx 补x (靠左,填充右边, 宽度为4)
10 {:x^4} x10x 补x (居中填充, 宽度为4)
13 {:10} 13 右对齐 ( 宽度为10),默认对齐方式
13 {:<10} 13 左对齐 (宽度为10)
13 {:^10} 13 中间对齐 (宽度为10)

代码演示:

f'string'实现

python3.6加入了格式化输出的新特性:

可见通过在字符串前面使用f包围起来,也能达到同样的效果,格式化全部放到{}当中,使代码可读性更强。

点赞