参考:
Python format 格式化函数 | 菜鸟教程
先来看一个有意思的问题:
print("{:.2f}".format(3.1415926))
这个我们能理解输出为3.14(如果不能理解的建议先看后面的语法点)
但如果改为print("{0:.2f}".format(3.1415926))呢?
输出依旧为3.14
可这里多出来的0是什么意思呢?
那再看看这个例子:
print("{1:.2f}".format(3.1415926,2.71828))
再联系一下语法,就不难看出,原来冒号(:)前面的数字表示的是format()里数据的索引位置
综上所述,可总结为冒号(:)前面数字为索引位置,后面为格式化的方式
以下为搬运一些基本的语法点:
"{} {}".format("hello", "world") # 不设置指定位置,按默认顺序
'hello world'
"{0} {1}".format("hello", "world") # 设置指定位置
'hello world'
"{1} {0} {1}".format("hello", "world") # 设置指定位置
'world hello world'
print("网站名:{name}, 地址 {url}".format(name="菜鸟教程", url="www.runoob.com"))
# 通过字典设置参数
site = {"name": "菜鸟教程", "url": "www.runoob.com"}
print("网站名:{name}, 地址 {url}".format(**site))
# 通过列表索引设置参数
my_list = ['菜鸟教程', 'www.runoob.com']
print("网站名:{0[0]}, 地址 {0[1]}".format(my_list)) # "0" 是必须的
输出均为:网站名:菜鸟教程, 地址 www.runoob.com
?数字格式化:
print("{:.2f}".format(3.1415926))
3.14
? ?
|