python 字符串格式化高级实例代码
格式:s.format(*args, *kwargs)
s 中占位符:
{n}:将被format()方法中的位置n上的参数代替,从0开始
>>> print "{0} is {1} writing {3}".format('Kee','now','Java','Python')
Kee is now writing Python
{name}:将被format()方法中关键字参数name代替
>>> print '{c} {b} {a}'.format(a = 'efhdn', b = 123, c = 8.3 )
8.3 123 efhdn
{或}:要输出一个{或},必须使用{{或}}格式
>>> print '{{中国}} 你好!'.format()
{中国} 你好!
2、占位符还可执行,索引或属性查找
#索引查找
>>> stock = {'name':'盐湖钾肥','share':999,'price':123.45}
>>> print "{0[name]} {0[share]} {0[price]}".format(stock)
盐湖钾肥 999 123.45
#属性查找
>>> x = 1 - 2j
>>> print '{0.real} {0.imag}'.format(x)
1.0 -2.0
3、可通过{place:format_spec}格式,给每个占位符添加可选的格式说明符。
说明符格式format_spec:[[fill][align]][sign][0][width][.precision][type]
fill:填充符
align:对齐方式 < 、 > 、^
sign:+ - 空格
width:最小字段宽度
>>> x = 1 - 2j
>>> print '{0.real:.3f} {0.imag}'.format(x)
1.000 -2.0
4、若只要格式话对象的str()或repr(),只需在格式说明符前添加 !s 或 !r
>>> name = "Kee"
>>> print "{0!r:*^20}".format(name)
*******'Kee'********
>>> print "{0:*^20}".format(name)
********Kee*********