python中的f是format函数的缩写,用于格式化输出。
format函数常见的用法是str.format(),其基本语法是通过{}和:来代替以前的%。
示例:
>>>"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
>>> "{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
>>> "{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
注意:如果在字符串中需要直接展示花括号,则用另一个花括号包裹起来转义。
相关推荐:《Python教程》
见示例:
>>> "{{我是谁}}:{}".format("皮卡丘")
'{我是谁}:皮卡丘'
也支持参数式填写,有点像SHELL的变量:
>>> "我是谁:{pikachu}".format(pikachu="皮卡丘")
'我是谁:皮卡丘'
数字格式化
b、d、o、x 分别是二进制、十进制、八进制、十六进制。
由表可知,千分位的分隔可以直接使用"{:,}".format(nunber)来解决,这里有个问题,如果分隔的时候带小数,且最后几位是0的话,在被format转化成字符串的时候会被忽略,就像这样:
>>> "{:,}".format(12345678.90)
'12,345,678.9'
>>> format(12345678.90,',')
'12,345,678.9'
如果我们希望保留想要的小数位数,需要这样子:
>>> "{:,.2f}".format(12345678.90)
'12,345,678.90'
>>> "{:,.4f}".format(12345678.90) #任意几位都行
'12,345,678.9000'
所以,format函数在解决数字格式化输出的时候是很强大的,可以组合使用其中的规则来达到个性化定制的目的。