format()基本用法

format()可以接受不限个函数,位置可以不按顺序

1 >>> a = "名字是:{0},年龄是:{1}"
2 >>> a.format("Xujie",18)
3 '名字是:Xujie,年龄是:18'
4 >>> b = "名字是:{0},年龄是:{1},{0}是个好人"
5 >>> b.format("Xujie",18)
6 '名字是:Xujie,年龄是:18,Xujie是个好人'
7 >>> c = "名字是:{name},年龄是:{age}"
8 >>> c.format(age = 18,name = "Xujie")
9 '名字是:Xujie,年龄是:18'

我们可以通过{索引}/{参数名}直接对字符串进行格式化,非常的方便

填充与对齐

填充通常和对齐一起使用

^, >, <分别是居中,右对齐,左对齐,后面带宽度

:后面带填充字符,只能是一个字符,不指定的话默认用空白填充

1 >>> "{:*>8}".format("245")
2 '*****245'
3 >>> "我是{0},我喜欢数字{1:*^8}".format("Xujie","7")
4 '我是Xujie,我喜欢数字***7****'

数字格式化

浮点数通过f,整数通过d,进行数字格式化

1 >>> a="我是{0},我的存款为{1:.2f}"
2 >>> a.format("Xujie",233.543435)
3 '我是Xujie,我的存款为233.54'

其他格式

 

数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} 3.14 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零(填充左边,宽度为2)
5 {:x<4d} 5xxx 数字补x(填充右边,宽度为4)
1000000 {:,} 1,000,000  以逗号分隔的数字形式
 0.25 {:.2%}  25.00%  百分号形式 
 100000000 {:2e}  1.00E+09   指数记法
 13  {:10d}           13  右对齐(默认长度10) 
 13 {:10d}  13            左对齐(默认长度10) 
 13 {:^10d}      13      中间对齐(默认长度10)