字符串格式化用于解释字符串和变量同时输出时的格式安排
Python语言同时支持两种字符串格式化的方法,一种类C的格式化方法,一种时专门的str.format()格式化方法。由于Python中更为接近自然语言的复杂数据类型无法通过类C的方法很好的表达,Python语言将主要采用format()方法进行字符串格式化。我们也主要学习这种方法。
<模板字符串>.format(<逗号分隔参数>)
format()方法中模板字符串的槽除了包含参数序号,还可以包括格式控制信息,槽内部样式:
{<参数序号>: <格式控制标记>}
其中,格式控制标记用来控制参数显示时的格式:
: | <填充> | <对齐> | <宽度> | <,> | <.精度> | <类型> |
---|---|---|---|---|---|---|
引导符号 | 用于填充的单个字符 | <左对齐;>右对齐;^居中对齐 | 槽的设定输出宽度 | 数字的千位分隔符,适用于整数和浮点数 | 浮点数小数备份的精度或字符串的最大输出长度 | 整数类型b,c,d,o.x.X,浮点数类型e,E,f,% |
格式控制标记包括<填充>、<对齐>、<宽度>、<,>、<精度>、<类型> 6 个字段都是可选的,可以组合使用。
<宽度>、<对齐>和<填充>是 3 个相关字段。<宽度>指当前槽的设定输出字符宽度,如果该槽对应的format()参数长度比<宽度>设定值大,则使用参数实际长度;如果该值的实际位数小于指定宽度,则位数将被默认以空格字符补充。<对齐>指参数在宽度内输出是的对齐方式。<填充>指宽度内除了参数外的字符采用用什么方式表示,默认采用空格,可以通过填充更换。
格式控制标记中的逗号( , )用于显示数字类型的千位分隔符。
<.精度>表示两个含义,由小数点( , )开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。
<类型>表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包括:
(1)b:输出整数的二进制方式。
(2)c:输出整数对应的Unicode字符。
(3)d:输出整数的十进制方式。
(4)o:输出整数的八进制方式。
(5)x:输出整数的小写十六进制方式。
(6)X:输出整数的大写十六进制方式。
对于浮点整数类型,输出格式包括:
(1)e:输出浮点数对应的小写字母 e 的指数形式。
(2)E:输出浮点数对应大写字母 E 的指数形式。
(3)f:输出浮点数的标准浮点形式。
(4)%:输出浮点数的百分形式。
浮点输出时尽量使用<.精度>表示小数部分的宽度,有助于更好控制输出格式。