字符串format()方法的基本使用格式:
槽.format(逗号分隔的参数)
槽可以有很多,用来控制修改字符串中嵌入值出现的位置。其实就是将format()方法中逗号分隔的参数按照序号关系替换到模板字符串的槽中。槽用{}表示,如果大括号里没有序号,则按照出现顺序替换。
例如:
"{}:我学了{}小时的{}".format("2022-4-24",3,"python")
输出:'2022-4-24:我学了3小时的python'
"{2}:我学了{0}小时的{1}".format(3,"python","2022-4-24")
输出:'2022-4-24:我学了3小时的python'
format()方法的格式控制
: | 填充 | 对齐 | 宽度 | , | . 精度 | 类型 |
引导符号 | 用于填充的单个字符 | <左对齐 >右对齐 ^居中对齐 | 槽的设定输出宽度 | 数字的千位分隔符 适用于整数和浮点数 | 浮点数小数部分的精度或字符串的最大输出长度 | 整数类型b,c,d,o,x,X 浮点数类型 e,E,f,% |
宽度:指当前槽的设定输出字符宽度,如果该槽对应的format()参数长度比设定值大,则使用参数实际长度,如果该值比指定宽度小,则按位数默认以空格字符补充。
填充:指宽度内除了参数外的字符用什么方式表示,默认为空格。
以上的六个格式标记都是可选的,可以组合使用,下面依次简绍
a = "python"
"{0:20}".format(a)#默认左对齐
输出:'python '
a = "python"
"{0:>20}".format(a)#右对齐
输出:' python'
a = "python"
"{0:#^20}".format(a)#居中对齐并且使用#填充
输出:'#######python#######'
a = "python"
"{0:.format(a)#居中对齐并且使用&填充
输出:'&&&&&&&python&&&&&&&'
格式控制标记符的逗号用于分隔千位:
a = 123456789
"{0:-^30}".format(a)
输出:
'----------123456789-----------'
a = 123456789
"{0:-^30,}".format(a)
输出:
'---------123,456,789----------'
a = 12345.7896
"{0:-^30,}".format(a)
输出:
'---------12,345.7896----------'
精度有俩个含义:1.对于浮点数来说,精度表示小数部分输出的有效位数。2.对于字符串来说,精度表示输出的最大长度
例如:
a = 123456.678980
"{0:.2f}".format(a)
输出:
'123456.68'
a = 123456.678980
"{0:*^30.4f}".format(a)
输出:
'*********123456.6790**********'
a = "python"
"{0:.5}".format(a)
输出:
'pytho'
类型:对于整数类型,输出格式有六种,具体如下:
b | 以二进制输出 |
c | 以Unicode字符输出 |
d | 以十进制输出 |
o | 以八进制输出 |
x | 以小写的十六进制输出 |
X | 以大写的十六进制输出 |
例如:
a = 326
"{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(a)
输出:
'101000110,ņ,326,506,146,146'
类型:对于浮点类型,输出格式有四种,具体如下:
e | 以小写e的指数形式输出 |
E | 以大写E的指数形式输出 |
f | 以标准浮点形式输出 |
% | 以浮点数的百分形式输出 |
例如:
a = 3.14159
"{0:e},{0:E},{0:f},{0:%}".format(a)
输出:
'3.141590e+00,3.141590E+00,3.141590,314.159000%'
a = 3.14159
"{0:.2e},{0:.2E},{0:.2f},{0:.2%}".format(a)
输出:
'3.14e+00,3.14E+00,3.14,314.16%'