欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python format函数的使用-字符串格式化方法

程序员文章站 2022-07-15 07:57:46
...

本文章介绍一下比较基础但是很实用的的字符串格式化方法,以下方法是我自己结合网上资料总结的,具体如下:

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'