目录
一、基本使用格式
"模板字符串".format(<逗号分隔的参数>)
"今天是{}年{}月{}日".format("2022","3",17) #数字加不加引号都可以,字符串需要加
今天是2022年3月17日
#槽中带序号:
"今天是{2}年{1}月{0}日".format(2022,3,17)
今天是17年3月2022日
模板字符串由一系列槽”{}“组成,参数会按照序号关系替换到槽中,如果没有序号,就按照出现顺序替换。
二、格式控制
槽除了包括参数序号,还可以包括格式控制信息:
#槽的内部格式:
{ <参数序号> : <格式控制标记> }
格式控制标记用来控制参数显示时的格式:
格式控制标记包括<填充>、<对齐>、<宽度>、<,>、<.精度>、<类型>6个字段,都是可选的,可以组合使用
1.<填充>、<对齐>、<宽度>
<填充>、<对齐>、<宽度>是3个相关字段,经常一起使用
<填充>指宽度内除了参数外的字符采用什么方式表示,默认采用空格。
<对齐>指参数在宽度内输出时的对齐方式,分别使用< 、> 、^ 表示左对齐、右对齐、居中,默认左对齐。
<宽度>指当前槽的设定输出字符的宽度,
如果该槽对应的format()参数长度比<宽度>设定值大,使用参数实际长度。
如果该值的实际位数小于指定宽度,则位数将被默认以空格字符补充。
#宽度
str = "HELLO"
print('{0:30}end'.format(str))
0是参数序号,也就是把第一个参数str替换进去,只有一个参数可以省略
30是宽度,HELLO实际位数小于指定宽度,位数将被默认以空格字符补充
#输出
HELLO end #默认左对齐 end不在槽内,不服从对齐
#对齐
str = "HELLO"
print('{:>30}'.format(str)) #右对齐
HELLO
#填充
str = "HELLO"
print('{0:*^30}'.format(str)) #居中且使用*填充
************HELLO*************
#参数长度比<宽度>设定值大,使用参数实际长度
str = "HELLO"
print('{:3}'.format(str)) 宽度设定为3,但参数HELLO实际长度大于3,使用参数实际长度
HELLO
2.<精度>
精度表示两个含义,由小数点(.)开头:
对于浮点数,精度表示小数部分输出的有效位数
对于字符串,精度表示输出的最大长度
print('{:.2f}'.format(123.4567))
123.46
print('{:X^30.2f}'.format(123.4567))
XXXXXXXXXXXX123.46XXXXXXXXXXXX
str = "HELLO"
print('{:.3}'.format(str))
HEL