字符串格式化:
1.简单运用
字符串类型格式化采用format()方法,基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
调用format()方法后会返回一个新的字符串,参数从0 开始编号。
a="{}:计算机{}的CPU 占用率为{}%。".format("2016-12-31","PYTHON",10)
print(a)
输出:
2016-12-31:计算机PYTHON的CPU 占用率为10%。
2.格式控制信息
format()方法中<模板字符串>的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:
{<参数序号>: <格式控制标记>}
其中,<格式控制标记>用来控制参数显示时的格式,包括:<填充><对齐><宽度>,<.精度><类型>6 个字段,这些字段都是可选的,可以组合使用,逐一介绍如下。
<宽度>
指当前槽的设定输出字符宽度,如果该槽对应的format()参数长度比<宽度>设定值大,则使用参数实际长度。如果该值的实际位数小于指定宽度,则位数将被默认以空格字符补充。
<对齐>
指参数在<宽度>内输出时的对齐方式,分别使用<、>和^三个符号表示左对齐、右对齐和居中对齐。
<填充>
指<宽度>内除了参数外的字符采用什么方式表示,默认采用空格,可以通过<填充>更换。
s = "PYTHON"
a="{0:30}".format(s)
print(a)
b="{0:>30}".format(s)
print(b)
c="{0:*^30}".format(s)
print(c)
d="{0:-^30}".format(s)
print(d)
e="{0:3}".format(s)
print(e)
输出:
PYTHON
PYTHON
************PYTHON************
------------PYTHON------------
PYTHON
逗号(,)
<格式控制标记>中逗号(,)用于显示数字的千位分隔符,例如
f="{0:-^20,}".format(1234567890)
print(f)
输出:
---1,234,567,890----
<.精度>
表示两个含义,由小数点(.)开头。对于浮点数,精度表示小数部分输出的有效位数。对于字符串,精度表示输出的最大长度。
f="{0:-^20,}".format(1234567890)
print(f)
g="{0:.2f}".format(12345.67890)
print(g)
h="{0:H^20.3f}".format(12345.67890)
print(h)
i="{0:.4}".format("PYTHON")
print(i)
输出:
---1,234,567,890----
12345.68
HHHHH12345.679HHHHHH
PYTH
<类型>
表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包括6 种:
- b: 输出整数的二进制方式;
- c: 输出整数对应的 Unicode 字符;
- d: 输出整数的十进制方式;
- o: 输出整数的八进制方式;
- x: 输出整数的小写十六进制方式;
- X: 输出整数的大写十六进制方式;
-
对于浮点数类型,输出格式包括4 种:
-
j="{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425) print(j) 输出: 110101001,Ʃ,425,651,1a9,1A9
- e: 输出浮点数对应的小写字母 e 的指数形式;
- E: 输出浮点数对应的大写字母 E 的指数形式;
- f: 输出浮点数的标准浮点形式;
- %: 输出浮点数的百分形式。
-
浮点数输出时尽量使用<.精度>表示小数部分的宽度,有助于更好控制输出格式。
k="{0:e},{0:E},{0:f},{0:%}".format(3.14)
print(k)
l="{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(3.14)
print(l)
输出:
3.140000e+00,3.140000E+00,3.140000,314.000000%
3.14e+00,3.14E+00,3.14,314.00%
%字符:标记转换说明符的开始。