【Python 字串處理 #1】python - string format, str.format() 個人常用參數整理 (updated: 2022/12/19)

前言

2022/12/19,本人已改只用 f-string 了,這篇是舊文。

留著給需要的人參考吧,不過還是大推在 python 3.6 版本更新的 f-string !

有時候碰到要在 3.6 版本以前的 python 開發還是用的到啦XD (只是機會超少XD)

基本用法

s1 = "Hello"
s2 = "world!"
s = "{} {}".format(s1, s2) # Hello world!

常使用參數

變數

"{:d}".format(1) # 整數
"{:f}".format(2.0) # 浮點數

格式、對齊

可以使用 > ^ < 這三種符號對齊,常用為「 > 向右對齊」

"{:>8d}".format(1) # 向右對齊,總長度8
"{:0>8d}".format(1) # 向右對齊,總長度8,並補0

常用功能:因為檔名的編號如果是 1.jpg, 2.jpg, … 10.jpg, 11.jpg
會因為先抓到第一個數字1,而讓「2.jpg」排序在「10.jpg, 11.jpg」後面,
因此我們會很常用到 "{:0>8d}" 補上空缺,
變成 01.jpg, 02.jpg 解決檔案自動排序問題。

另外,此功能預設就是向右對齊,所以有時候我們也會省略,寫成 “{:08d}”

數字格式化

"{:.2f}".format(2.0) # 小數點後留下2位

常用功能:我們想讓小數點後面留下幾位數,就會寫成 “{:.3f}”
(小數點後留三位數的意思)

Reference

https://blog.jaycetyle.com/2018/01/python-format-string/
https://www.runoob.com/python/att-string-format.html