format()接收位置参数和关键词参数,两者均传递到replacement字段,此字段在字符串内用大括号表示。
例子:
位置参数
>>> “{0} like {1} {2}”.format(“I”,”reading”,”books”)
‘I like reading books’
关键词参数
>>> “{a} like {b} {c}”.format(a=”I”,b=”reading”,c=”books”)
‘I like reading books’
如果位置参数与关键词参数混合使用,位置参数需要放置关键字参数之前。
>>> “{0} like {b} {c}”.format(“I”,b=”reading”,c=”books”)
‘I like reading books’
>>> “{0} like {b} {0}”.format(a=”I”,b=”reading”,”books”)
File “<stdin>”, line 1
SyntaxError: positional argument follows keyword argument
另外一个例子:
>>> “{0} {1:.2f}”.format(“圆周率:”, 3.1415)
‘圆周率: 3.14’
#{1:.2f}:在替换域中,冒号表示格式化符号的开始,.2表示四舍五入到两个小数点,f表示浮点数
2.格式化操作符%
格式化符号与含义
例子:
>>> “%d八进制是: %o” % (123,123)
‘123八进制是: 173’
格式化操作符辅助符
通过”%”可以进行字符串格式化,但是”%”经常会结合下面的辅助符一起使用。
辅助符号 | 说明 |
* | 定义宽度或者小数点精度 |
– | 用做左对齐 |
+ | 在正数前面显示加号(+) |
# | 在八进制数前面显示零(0),在十六进制前面显示”0x”或者”0X”(取决于用的是”x”还是”X”) |
0 | 显示的数字前面填充”0″而不是默认的空格 |
(var) | 映射变量(通常用来处理字段类型的参数) |
m.n | m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
例子:
>>> “%.1f” % 27.123
‘27.1’
>>> “%10.1f” % 27.123
‘ 27.1’
>>> “%d” % 27.565
’27’
>>> “%-5d” % 27.565
’27 ‘