format方法被用於字符串的格式化輸出。python
print('{0}+{1}={2}'.format(1,2,1+2)) #in
1+2=3 #out
可見字符串中大括號內的數字分別對應着format的幾個參數。函數
若省略數字:spa
print('{}+{}={}'.format(1,2,1+2)) #in
能夠獲得一樣的輸出結果。可是替換順序默認按照[0],[1],[2]...進行。code
若替換{0}和{1}:orm
print('{1}+{0}={2}'.format(1,2,1+2)) #in
2+1=3 #out
輸出字符串:blog
print('{0} am {1}'.format('i','alex'))
i am alex #out
輸出參數的值:字符串
1 length = 4
2 name = 'alex'
3 print('the length of {0} is {1}'.format(name,length))
the length of alex is 4
精度控制:it
print('{0:.3}'.format(1/3))
0.333
寬度控制:form
print('{0:7}{1:7}'.format('use','python'))
use python
精寬度控制(寬度內居左):class
print('{0:<7.3}..'.format(1/3))
0.333 ..
其實精寬度控制很相似於C中的printf函數。
同理'>'爲居右,'^'爲居中。符號很形象。
補全:
1 #!/usr/bin/python
2 #python3.6
3 print('{0:0>3}'.format(1)) #居右,左邊用0補全
4 print('{0:{1}>3}'.format(1,0)) #也能夠這麼寫
5 #當輸出中文使用空格補全的時候,系統會自動調用英文空格,這可能會形成不對齊
6 #for example
7 blog = {'1':'中國石油大學','2':'浙江大學','3':'南京航空航天大學'} 8 print('不對齊:') 9 print('{0:^4}\t\t{1:^8}'.format('序號','名稱')) 10 for no,name in blog.items(): #字典的items()方法返回一個鍵值對,分別賦值給no和name
11 print('{0:^4}\t\t{1:^8}'.format(no,name)) 12 print('\n對齊:') 13 print('{0:^4}\t\t{1:{2}^8}'.format('序號','名稱',chr(12288))) #chr(12288)爲UTF-8中的中文空格
14 for no,name in blog.items(): 15 print('{0:^4}\t\t{1:{2}^8}'.format(no,name,chr(12288)))
#out
001
001 不對齊: 序號 名稱 1 中國石油大學 2 浙江大學 3 南京航空航天大學 對齊: 序號 名稱 1 中國石油大學 2 浙江大學 3 南京航空航天大學