format() 函數(shù)用來收集其后的位置參數(shù)和關(guān)鍵字段參數(shù)具钥,并用他們的值填充字符串中的占位符膳算。通常格式如下:
"{pos or key : fill, align, sign, 0, width, .precision, type}".format(para1...)
- 整個 花括號 是一個占位符
- 冒號前 的 pos 或者 key 用來定位 format() 函數(shù)的參數(shù)
- 冒號后 的位置用來將該參數(shù)格式化拘领,其中每一個都是可選項(xiàng)
用來指定填充字符帘营,默認(rèn)為空格
指定對齊方式: 為右對齊鄙才, 為左對齊我擂,^ 為居中對齊
指定是否保留正負(fù)號: 保留正號酵幕, 保留負(fù)號
寬度(前面如果加 0 扰藕,則表示用 0 填充)
指定寬度
指定精確度
指定類型, 二進(jìn)制实胸, 八進(jìn)制他嫡, 十進(jìn)制, 十六進(jìn)制庐完, 浮點(diǎn)型
示例:
使用位置進(jìn)行填充
print("Hello,{}. My name is {}. How is going? ".format("Hialry", "Vergil"))
# Hello,Hialry. My name is Vergil. How's it going?
若格式中未指定填充位置钢属,將會按序填充
print("{} {} {} {} {} {}".format("1","2","3","4","5","6"))
# 1 2 3 4 5 6
print("{0} {1} {3} {5} {2} {4}".format("1","2","3","4","5","6"))
# 1 2 4 6 3 5
使用關(guān)鍵字段進(jìn)行填充
print(
"I\'m {name1} ,and I miss u so much,{name2}.".format(
name1="Vergil",
name2="Hilary"))
# I'm Vergil ,and I miss u so much,Hilary.
使用下標(biāo)填充
names=['Hilary','Vergil','Nero']
places=['Chengdu','Shijiazhuang','Tokyo']
print(
"Hi {names[0]}.I am {names[1]} and this is {names[2]}.".format(
names=names))
# Hi Hilary.I am Vergil and this is Nero.
print(
"Three people:{0[0]},{0[1]},{0[2]} from three places:{1[0]},{1[1]},{1[2]}.".format(
names,
places))
# Three people:Hilary,Vergil,Nero from three places:Chengdu,Shijiazhuang,Tokyo.
進(jìn)制轉(zhuǎn)換
print("{0:b},{0:o},{1:d},{1:x}".format(256, 512))
# 100000000,400,512,200
逗號分隔
print("{:,}".format(123456789))
# 123,456,789
浮點(diǎn)數(shù)格式
print("{:+12.3f}".format(3.14159265358979))
# +3.142
對齊與填充, \n 換行符
提示:“ 對齊 ” 指數(shù)據(jù)本身,而非與 上下行的其他數(shù)據(jù) 對齊
print(
"{:>010}\n".format(12), # 右對齊门躯,填充0淆党,寬度10
"{:0>10}\n".format(12), # 填充0,右對齊,寬度10
"{:x>10}\n".format(12), # 填充0,右對齊讶凉,寬度10
"{:0<+12.3f}\n".format(-12.34567), # 填充0染乌,左對齊,保留+號懂讯,寬度12荷憋,保留3位小數(shù)
"{:^10}\n".format(3) # 居中對齊,寬度10
)
'''
0000000012
0000000012
-12.34600000
3
'''
# 以上 print 結(jié)果褐望,第 2 行開始多了一個空格勒庄,原因未知
print("{:>010}".format(12))
print("{:0>5}".format(12))
print("{:x>6}".format(12))
print("{:x<6}".format(12))
print("{:x^6}".format(12))
print("{:0<+12.3f}".format(-12.34567))
print("{:^10}".format(3) )
'''
0000000012
00012
xxxx12
12xxxx
xx12xx
-12.34600000
3
'''
筆記參考:https://blog.csdn.net/Hilavergil/article/details/79161590
文檔參考:http://www.runoob.com/python/att-string-format.html