Python フォーマット済み文字列 f文字列

lecture

Python3.6からフォーマット済み文字列(f文字列)が使えるようになっています。
Pythonには % を使ったCスタイルの文字列フォーマット、format関数を使ったフォーマットなどが用意されています。
Cスタイルのフォーマットは一番面倒な書き方になりますが、C経験者には馴染みのあるフォーマットかもしれません。けれども、このフォーマットスタイルは使われなくなる可能性がありますので、これからPythonを始める場合はformat関数を使う方法を覚えると良いでしょう。
けれども、format関数を使った方法も少し簡潔性に乏しいと感じるでしょう。

そんな中これから使うのにベストなフォーマット形式はf文字列を使用することだと思います。
次のサンプルはどれも同じ内容です。Cスタイルの方法と、format関数を用いた方法、そして最後がf文字列を使った方法です。f文字列の完結性がわかると思います。

Cスタイルの文字列フォーマット

drink = [('tea', 300), ('milk', 250), ('juice', 350)]
for i, (item, price) in enumerate(drink):
    print('#%d: %-5s = %d' % (
        i + 1,
        item.title(),
        price
        )
    )

format関数を使ったフォーマット

drink = [('tea', 300), ('milk', 250), ('juice', 350)]
for i, (item, price) in enumerate(drink):
    print('#{}: {:<5s} = {}'.format(
        i + 1,
        item.title(),
        price
        )
    )

f文字列を使った方法

drink = [('tea', 300), ('milk', 250), ('juice', 350)]
for i, (item, price) in enumerate(drink):
    print(f'#{i + 1}: {item.title():<5s} = {price}')

どれも結果は同じで次のように表示されます。
#1: Tea = 300
#2: Milk = 250
#3: Juice = 350

この記事はEffective Pythonを参考にしています。
入門編を終えたら役に立ちます。

タイトルとURLをコピーしました