python中的format格式化、填充与对齐、数字格式化方式
作者:hejp_123
format函数是Python中强大的字符串格式化方法,它允许程序员通过大括号{}来为字符串中的插入点占位,并通过传入参数进行替换,{0}、{1}分别代表不同的参数
forma格式化的用法
format函数可以接受不限个参数,位置可以不按顺序。
基本语法是通过{ }和:来代替c语言的%。
>>> a="名字是:{0},年龄是:{1}"
>>> a.format("煮雨",18)
'名字是:煮雨,年龄是:18'{0},{1}代表的占位符,数字占位符要注意顺序。
>>> c="名字是:{name},年龄是:{age}"
>>> c.format(age=19,name='煮雨')
'名字是:煮雨,年龄是:19'填充与对齐
- "^"代表居中
- "<"代表左对齐
- ">"代表右对齐
举例:
>>> "{:*>8}".format("245")
'*****245'- 冒号后面带的需要填充的字符,"{:*>8}".代表字符串总共是8位,填充星号,245右对齐。
- 冒号后面若不跟字符,默认填充空格。
数字格式化
- ' {:>10s}' 字符s
- ' {:>10d}' 整数d
- ' {:>10f}' 浮点数f
>>> a="我是{0},我的存款有{1:.2f}"
>>> a.format("煮雨",3888.4123654)
'我是煮雨,我的存款有3888.41'- :.2f表示保存2位浮点数
Python中还有很多数字格式化的表达形式,如下表所示:

>>> "{:0>10d}".format(3)
'0000000003'- 3右对齐,10位数,其余位补充0。
- 这些不用死记硬背,用到的时候查一下,用多了就记住了
常用的format格式
# 左对齐
print('{:<15}:{:,}'.format('sample number',251357954))
print('{:<15}:{:.2%}'.format('rate number',0.341234))
print('{:<15}:{:.2f}'.format('float number',0.341234))
# 右对齐
print('{:>13}:{:,}'.format('sample number',251357954))
print('{:>13}:{:.2%}'.format('rate number',0.341234))
print('{:>13}:{:.2f}'.format('float number',0.341234))
#output
#-----------------------------
sample number :251,357,954
rate number :34.12%
float number :0.34
#-----------------------------
sample number:251,357,954
rate number:34.12%
float number:0.34
#-----------------------------
#分开使用
a = "我是{1},我存款{1:.2f}"
a.format("spy",28833333)总结
具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
