tachitomonn’s blog

IT技術関連の学習メモがメインでたまに趣味のこととか

Python の formatメソッド

長らく Python2 系をメインにしており、文字列のフォーマット化を行う formatメソッドに慣れていないのでメモしながら慣れていきます。
参考はこちら。

組み込み型 — Python 3.8.2rc1 ドキュメント
string --- 一般的な文字列操作 — Python 3.8.2rc1 ドキュメント

基本。メソッドを呼び出す文字列にフォーマット化して置換したい部分を {} で囲んで入れる。置換フィールドはメソッドの引数の順番に対応するようにインデックスを指定できる。

>>> "My name is {0}. I like {1}.".format("tachitomonn", "soccer")
'My name is tachitomonn. I like soccer.'

キーワード引数でも指定できる。

>>> "My name is {name}. I like {sport}.".format(name="tachitomonn", sport="soccer")
'My name is tachitomonn. I like soccer.'

その他、書式指定例。「:」の後に書式指定を付ける。

アラインメントと幅指定。埋める文字が省略された場合はスペース埋めになる。

>>> number = 12345
>>> "{number:<10d}".format(number=number)
'12345     '
>>> "{number:>10d}".format(number=number)
'     12345'
>>> "{number:0>10d}".format(number=number)
'0000012345'

千の位のセパレータのカンマ使用。

>>> "{number:,}".format(number=number)
'12,345'