Python字符串格式化

1.format()

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.格式化操作符%

格式化符号与含义

符号
含义
%c格式化字符及去ASCII码
%s格式化字符串
%d格式化整数
%o格式化无符号八进制数
%x格式化无符号十六进制数
%X格式化无符号十六进制数(大写)
%f格式化浮点数,可指定小数点后的精度
%e用科学计数法格式化浮点数
%E作用同%e
%g根据值的大小决定使用%f或%e
%G作用同%g

例子:

>>> “%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         ‘


「 文章如果对你有帮助,请点个赞哦^^ 」 

0