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)
总结
具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教