字符串格式化话的标准形式为 "Template String " % (Data)
%+8.6f
转换类型表见pythonEssentialReference-p-80。
"%d" % 18
输出结果为“18”,按照上面的格式,这个是最简单的字符串模板,由类型转换表只知道,占位符%d会被一个整数替换,而这个整数 就在%的后面Data所在的位置,同理,可以使用
"%d %f" % (19,19.1)
当多于一个数的时候将其表示为元组的形式。
"%10d" % 18
将会输出" 18",总共占据了10个字符的宽度,这里的10,就是最小宽度的标志。而上面的转换标志则是"+""-"或者“0”之间的一个
比如
"%-10d" % 18
输出结果就变成了“18 ”
"%-10.5f" % 18.3
输出为:"18.30000 ",小数部分为5位,不足使用0填充,整个字符串为10位,不足用空格填充,左对齐。这个格式 就组合了所有的模板类型,用-表示左对齐,空格填充,10表示最小长度,5表示小数部分长度,这里注意了,如果整数 部分长度加上小数点后面要求的最小长度大于其前面要求的整体的最小长度,则整体的最小长度无效。最后的f表示浮点数。
"%-*.*f" % (10,5,18.3)
将和上面的示例俄得到一样的结果,可以猜测出,这里的*起到了占位符的作用,使得最小长度在后面的Data区指定。
nameAge={"zhang":10,"wang":11,"li":32} "wang's age is %(wang)d" % nameAge
输出结果为"wang's age is 11",这个结构比上面的都要复杂,而且也和之前介绍的标准形式不相同。 这里用到了列表,并用%(key)作为占位符,后面接转换类型d,后面的Data区用一个含有key的字典。可以直接得到相应的value。 这里的d还可以换成上面复杂的格式模板,如"-10.5f"
在上面对齐格式前面加字符表示填充符。如“=^”则为中间对齐,空格用=填充。其格式转换符也有点区别。其表见 pythonEssentialReference-p-73