Pythonで文字列に変数を埋め込む方法は大きく分けて以下の3つがあります。
%
を使う方法str.format()
を使う方法f
文字列を使う方法
それぞれの方法について詳しく見ていきましょう。
%
を使う方法
JavaやC言語をやっている人からすると慣れ親しんだ方法です。以下のように書きます。
name = 'チーズ牛丼太郎'
age = 21
print('私の名前は%sです。 %d歳です。 ' % (name, age))
しかし、この方法にはいくつか問題があります。例えば、型の順番を間違えるとエラーになります。また、長くなると読みづらくなります。
str.format()
を使う方法
次にstr.format()
を使った方法を見ていきます。
name = 'チーズ牛丼太郎'
age = 21
print('私の名前は{}です。{}歳です。'.format(name, age))
この方法では、%
で辞書を使う方法に比べてすっきりとはしたものの、やはりまだ冗長です。
f
文字列を使う方法
最後にf
文字列を使った方法を考えます。以下のように書きます。
name = 'チーズ牛丼太郎'
age = 21
print(f'私の名前は{name}です。 {age}歳です。 ')
%
やstr.format()
を使った方法に比べてかなりすっきり書けていることがわかります。変数を右側でタプルや辞書、format()
で指定するのではなく、直接埋め込んでいるため可読性が高いです。
以上、Pythonで文字列に変数を埋め込む方法について見てきました。これらの方法の中で、f
文字列を使う方法が一番可読性が高く、推奨されます。ただし、str.format()
はPython2.6、f
文字列はPython3.6以上でないと使えないので注意が必要です。