python format函数的使用-字符串格式化方法
程序员文章站
2022-07-15 07:57:46
...
- 1.使用位置参数
- 2.使用关键字参数
- 3.填充与格式化
- 4.精度与进制
- 5.使用索引
最近更新:2018-01-15
官网对于format的链接如下:
https://pyformat.info/
本文章介绍一下比较基础但是很实用的的字符串格式化方法,以下方法是我自己结合网上资料总结的,具体如下:
1.使用位置参数
要点:从以下例子可以看出位置参数不受顺序约束,且可以为{},只要format里有相对应的参数值即可,参数索引从0开,传入位置参数列表可用*列表。
>>> "{}{}".format(1,2)
'12'
>>> "{}{}".format("one","two")
'onetwo'
>>> "{0}{1}".format("one","two")
'onetwo'
>>> "{1}{0}".format("one","two")
'twoone'
>>> "I have {} apples,he have {} apples".format(*a)
'I have one apples,he have two apples'
2.使用关键字参数
要点:关键字参数值要对得上,可用字典当关键字参数传入值,字典前加**即可。
cat={"food":"fish","age":3}
>>> "The cat like to eat {food},age is {age}".format(food="fish",age=3)
'The cat like to eat fish,age is 3'
>>> "The cat like to eat {food},age is {age}".format(**cat)
'The cat like to eat fish,age is 3'
3.填充与格式化
要点: :[填充字符][对齐方式< ^ >][宽度]
3.1右对齐
>>> "{0:>5}".format(7)#填充字符为空格+右对齐+宽度5#
' 7'
>>> "{0:*>5}".format(7)#填充字符为*+右对齐+宽度5#
'****7'
3.2左对齐
>>> "{0:*<5}".format(7)#填充字符为*+左对齐+宽度5#
'7****'
3.3居中对齐
>>> "{0:*^5}".format(7)#填充字符为*+中间对齐+宽度5#
'**7**'
4.精度与进制
4.1精度和类型
>>> "{0:.2f}".format(1/3)#其中.2表示长度为2的精度,f表示float类型#
'0.33'
4.2复杂的千分位、浮点数、填充字符、对齐的组合使用:
>>> '{:>18,.2f}'.format(70305084.0)
# :冒号+空白填充+右对齐+固定宽度18+千分位+浮点精度.2+浮点数声明f#
' 70,305,084.00'
4.3二进制
>>> "{0:b}".format(10)
'1010'
4.4八进制
>>> "{0:o}".format(10)
'12'
4.5十六进制
>>> "{0:x}".format(10)
'a'
4.6千分位格式化
>>> "{:,}".format(123456789)
'123,456,789'
5.使用索引
5.1简单索引
>>>cat=["fish",3]
>>> "The cat like to eat {0[0]},age is {0[1]}".format(cat)
'The cat like to eat fish,age is 3'
5.2复杂列表索引
>>> "{d[3]} {d[4]}".format(d=data)
'10 24'
5.3复杂数据格式化:
>>> class plant(object):
type="tree"
kinds=[{"name":"oak"},{"name":"maple"}]
>>> "{p.type}:{p.kinds[0][name]}".format(p=plant)
'tree:oak'
推荐阅读