Pythonでは、文字列の中に変数を埋め込むためにstr.format()
メソッドがよく使われていました。しかし、Python3.6以降、新たにf文字列(フォーマット済み文字列リテラル)が導入され、より直感的で可読性の高いコードが書けるようになりました。
f文字列の基本的な使い方
f文字列の基本的な使い方は非常にシンプルです。文字列の前にf
をつけ、文字列内に変数を埋め込みたい箇所を{}
で囲みます。例えば、次のように書くことができます。
first = 'Hayate'
last = 'Leo'
print(f'私の名前は{first}{last}です') # 私の名前はHayateLeoです
f文字列の応用的な使い方
f文字列は、単に変数を文字列に埋め込むだけでなく、さまざまな応用的な使い方が可能です。
小数点を指定する
f文字列を使うと、小数点以下の桁数を指定することができます。例えば、円周率を小数点以下3桁で表示するには次のようにします。
import math
print(f'円周率は約 {math.pi:.3f}.') # 円周率は約 3.142.
縦をきれいにそろえる
f文字列では、:
の後に整数をつけて、最小の文字幅を指定することができます。これにより、縦のラインを揃えることができます。
table = {'Sjoerd': 4127, 'Jack': 4098, 'Dcab': 7678}
for name, phone in table.items():
print(f'{name:10} ==> {phone:10d}')
値を変換する
f文字列では、!s
でstr()
や!r
でrepr()
に変換することができます。
animals = 'Tiger'
print(f'好きな動物は {animals} なんですよ')
print(f'好きな動物は {animals!r} なんですよ')
以上、Pythonのf文字列について解説しました。str.format()
メソッドよりも直感的で可読性が高いため、Python3.6以降ではf文字列の使用が推奨されています。