Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序。
字符串格式化使用.format()方法,用户如下:
<模板字符串>.format.(,逗号分隔的参数)
通过位置和关键字
>>> '{} {} {}'.format('python', 'Hello', 'World')
'python Hello World'
>>> '{1} {1} {2}'.format('python', 'Hello', 'World')
'Hello Hello World'
>>> 'my name is {name}, {age} years old'.format(name='Tom', age=18)
'my name is Tom, 18 years old'
槽内部对格式化的配置方式{<参数序号>:<格式控制标记>}
: 引导符号
<填充> 用于填充的单个字符
<对齐> <左对齐 >右对齐 ^居中对齐
<宽度> 槽设定的输出宽度
< , > 数字的千位分隔符
<. 精度> 浮点数小数,精度或字符串,最大输出长度
<类型> 主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制
其中填充、对齐、宽度经常为一组使用,^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充
>>> print('{:=<20}'.format('python'))
python==============
>>> print('{:=>20}'.format('python'))
==============python
>>> print('{:=^20}'.format('python'))
=======python=======
>>> print('{:^20}'.format('python'))
python
逗号、精度和类型为一组使用
>>> '{:,.2f}'.format(123456.789)
'123,456.79'
其中.2表示长度为2的精度,f表示float类型。逗号(,)使用较少,一般在特定的程序使用
主要就是进制了,b、d、o、x分别是二进制、十进制、八进制、十六进制,%为格式化为百分比形式
>>> '{:b}'.format(123)
'1111011'
>>> '{:d}'.format(123)
'123'
>>> '{:o}'.format(123)
'173'
>>> '{:x}'.format(123)
'7b'
>>> '{:X}'.format(123)
'7B'
>>> '{:%}'.format(123)
'12300.000000%'