Smile Engineering Blog

ジェイエスピーからTipsや技術特集、プロジェクト物語を発信します

Pythonのf文字列による文字列補完

Pythonで文字列補完をするとき、今までは文字列メソッドformat()を使用していたのですが、Python3.6から追加されたf文字列(フォーマット済み文字列リテラル)を用いることで、より簡潔に記述出来ることがわかったので、ここにその方法を記載します。

サンプルソース

以下にformat()による文字列補完とf文字列による文字列補完を記載します。

w = 'World'
msg = 'Hello,{}!'.format(w)
print(msg)
# Hello,World!
w = 'World'
msg = f'Hello,{w}!'
print(msg)
# Hello,World!

上記の通り、冗長なformat()呼び出しの記述がなくなるため、f文字列による文字列補完のほうがソースコードが簡潔になります。

書式指定

文字列メソッドformat()と同様に、f文字列でも置換フィールドでコロン:のあとに書式指定文字列を指定することで様々な書式を指定出来ます。

s = 'abc'
right  = f'right : {s:_>8}'
center = f'center: {s:_^8}'
left   = f'left  : {s:_<8}'
print(right)
print(center)
print(left)
# right : _____abc
# center: __abc___
# left  : abc_____
i = 1234
s = f'{i:08}'
print(s)
# 00001234

参考

フォーマット済み文字列リテラル