1. 程式人生 > >python3中format函式

python3中format函式

format是python2.6新增的一個格式化字串的方法,相對於老版的%格式方法,它有很多優點。

%能實現的format都能實現 並且功能更多,操作更方便 。

優勢:

1.不需要理會資料型別的問題,在%方法中%s只能替代字串型別

2.單個引數可以多次輸出,引數順序可以不相同

3.填充方式十分靈活,對齊方式十分強大

4.官方推薦用的方式,%方式將會在後面的版本被淘汰

小例子:

print('hello %s'%'world') 等價於print ('hello { }'.format('world'))

輸出為 

hello world

用法:

順序(數值)匹配

print('hello {0} i am {1}'.format('Kevin','Tom') )

  輸出為   hello Kevin i am Tom

這裡的大括號裡面 0 和1 指的是後面format物件的順序 。也可以自行定義順序 輸出結果順序不同 

print('hello {0} i am {1}'.format('Kevin','Tom') )  輸出為  hello Tom i am Kevin

也可以通過鍵值來匹配:

print ('hello {name1}  i am {name2}'.format(name1='Kevin',name2='Tom')  )輸出hello Kevin i am Tom

對齊與填充

數字 格式 輸出 描述
5 {:0>2} 05 數字補零 (填充左邊, 寬度為2)
5 {:x<4} 5xxx 數字補x (填充右邊, 寬度為4)
10 {:x^4} x10x 數字補x (填充右邊, 寬度為4)
13 {:10}         13 右對齊 (預設, 寬度為10)
13 {:<10} 13 左對齊 (寬度為10)
13 {:^10}     13 中間對齊 (寬度為10
特別是爬蟲最後對應輸出的時候 用到淺藍色填充的部分

並且定義好格式可以直接呼叫內建函式:

    tplt = "{:2}\t{:8}\t{:<16}"
    print(tplt.format("序號", "價格", "商品名稱"))

這裡tplt.format就是直接呼叫了format函式。

相當於().format()等價於 前面()變成具體的變數 tplt

().format→tplt.format性質是一樣的