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') )
這裡的大括號裡面 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性質是一樣的