python的str.format方法

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              南京航空航天大學
相關文章
相關標籤/搜索