[python] 格式化方法 format

先介绍包含的所有规则

花括号声明{}:用于渲染前的参数引用声明,花括号里可以用数字代表引用参数的序号,或者变量名直接引用。
从format参数引入的变量名 
冒号:
字符位数声明
空白自动填补符的声明
千分位的声明
变量类型的声明: 字符串s、数字d、浮点数f
对齐方向符号 < ^ >
属性访问符中括号 ☐
使用惊叹号!后接a 、r、 s,声明 是使用何种模式, acsii模式、引用__repr__ 或 __str__
增加类魔法函数__format__(self, format) , 可以根据format前的字符串格式来定制不同的显示, 如: ’{:xxxx}’  此时xxxx会作为参数传入__format__函数中。

 

接下来看具体使用

>>> '{:>18,.2f}'.format(70305084.0) # :冒号+空白填充+右对齐+固定宽度18+浮点精度.2+浮点数声明f
' 70,305,084.00'
>>> data = [4, 8, 15, 16, 23, 42]
>>> '{d[4]} {d[5]}'.format(d=data)
'23 42'
>>> class Plant(object):
...     type = 'tree'
...     kinds = [{'name': 'oak'}, {'name': 'maple'}]
... 
>>> '{p.type}: {p.kinds[0][name]}'.format(p=Plant())
'tree: oak'
>>> '{:.5}'.format('xylophone')
'xylop'
>>> '{:4d}'.format(42)
'  42'
>>> '{:.{}}'.format('xylophone', 7)
'xylopho'
>>> '{:06.2f}'.format(3.141592653589793) #填补符+固定宽度+浮点精度+变量类型
'003.14'
>>> from datetime import datetime
>>> '{:%Y-%m-%d %H:%M}'.format(datetime(2001, 2, 3, 4, 5))
'2001-02-03 04:05'

 

posted @ 2017-10-15 10:58  推杯问盏  阅读(260)  评论(0编辑  收藏  举报