字符串类型格式化采用 format()方法,基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
1.基本功能
<模板字符串>由一系列的槽组成, 用来控制修改字符串中嵌入值出现的位置,其基本思想是将 format()方法的<逗号分隔的参数>中的参数按照序号关系替换到<模板字符串>的槽中。
槽用大括号({})表示,如果大括号中没有序号,则按照出现顺序替换.
例如:
>>> print("{}:{}:{}".format("1","2","3"))
1:2:3
>>> print("{2}:{1}:{0}".format("1","2","3"))
3:2:1
2.格式控制标记
format()方法中<模板字符串>的槽除了包括参数序号,还可以包括格式控制信息。此时,槽的内部样式如下:
{<参数序号>: <格式控制标记>}
其中,<格式控制标记>用来控制参数显示时的格式,如下图
2.1 对齐与填充
实例代码
>>> s = "python"
>>> "{0:30}".format(s) #输入1,默认左对齐,宽度30
'python '
>>> "{0:>30}".format(s) #输入2,指定右对齐,30宽度
' python'
>>> "{0:<30}".format(s) #输入3,指定左对齐
'python '
>>> "{0:*^30}".format(s) #输入4,居中对齐
'************python************'
2.2 精度
>>> "{0:-^20,}".format(1234567890) #输入1,多了一个逗号,用来表示数字千位分隔符
'---1,234,567,890----'
>>> "{0:-^20}".format(1234567890) #输入2,对比上面,以示区别
'-----1234567890-----'
>>> "{0:-^20,.2f}".format(123456.7890) # 输入3,后面的.2f表示小数点后精度
'-----123,456.79-----'
2.3 类型表示
<类型>表示输出整数和浮点数类型的格式规则。对于整数类型,输出格式包括6 种:
b: 输出整数的二进制方式;
c: 输出整数对应的Unicode 字符;
d: 输出整数的十进制方式;
o: 输出整数的八进制方式;
x: 输出整数的小写十六进制方式;
X: 输出整数的大写十六进制方式;
>>> "{0:b},{0:c},{0:d},{0:o},{0:x}".format(425) #输入,要求多种格式输出该整数
'110101001,Ʃ,425,651,1a9'
对于浮点数类型,输出格式包括4 种:
e: 输出浮点数对应的小写字母e 的指数形式;
E: 输出浮点数对应的大写字母E 的指数形式;
f: 输出浮点数的标准浮点形式;
%: 输出浮点数的百分形式。
浮点数输出时尽量使用<.精度>表示小数部分的宽度, 有助于更好控制输出格式。
>>> "{0:e},{0:E},{0:f},{0:%}".format(3.14)
'3.140000e+00,3.140000E+00,3.140000,314.000000%'
注意:上面的{0:e}等,在语法上与str[1:3]字符串截取类似,注意区分