文字列 文法・環境

【Python】文字列に変数を埋め込む方法【f文字列、formatメソッド、%記法】

Pythonにおいて、文字列に変数を埋め込んで表示する方法を紹介します。

本記事では、以下の内容を紹介しています。

この記事で分かること

  • f文字列(f-strings)
  • formatメソッド
  • %記法

スポンサーリンク

"f文字列(f-strings)"で文字列に変数を埋め込む方法

f文字列(f-string)を用いて、文字列に変数を埋め込む方法を紹介します。

f文字列は、Python 3.6より利用できるようになりました。

文字列の前に、「f」または、「F」を記載することで使用できます。

文字列内の置換フィールド { } に、変数をそのまま指定します。  

書き方

f"文字列 { 変数 }"

Pythonの公式ドキュメントにも記述があるので、参考にしてみてください。

バージョン 3.6 で追加.
フォーマット済み文字列リテラル( formatted string literal )または f-string は、接頭辞 'f' または 'F' の付いた文字列リテラルです。これらの文字列には、波括弧 {} で区切られた式である置換フィールドを含めることができます。他の文字列リテラルの場合は内容が常に一定で変わることが無いのに対して、フォーマット済み文字列リテラルは実行時に式として評価されます。

Python公式ドキュメント

以下、サンプルコードです。

x = 123
print(f'変数 x : {x}')
# 変数 x : 123

変数が2つ以上の場合も、置換フィールドを増やすだけで、同じように使用できます。

a = 'Apple'
b = 'Banana'

print(f'{a} and {b}')

# Apple and Banana

スポンサーリンク

"formatメソッド"で文字列に変数を埋め込む方法

formatメソッドを用いて、文字列に変数を埋め込む方法を紹介します。

".format( )"内に記述した変数が、文字列内の置換フィールド { }に置換されます。

書き方

"文字列 { }".format( 変数 )

以下、サンプルコードです。

x = 123
print('変数 x : {}'.format(x))
# 変数 x : 123

変数が複数ある場合は、","カンマで区切ります。

x = 123
y = 456
print('変数 x : {}, 変数 y : {}'.format(x, y))
#変数 x : 123, 変数 y : 456

置換フィールド { } にインデックス番号を指定することで、インデックス番号に応じた値で置換されます。

hensu = '変数'
x = 123
y = 456

print('{0} x : {1}, {0} y : {2}'.format(hensu, x, y) )
#変数 x : 123, 変数 y : 456

置換フィールド { } にキーワード引数を使用することもできます。

x = 'Apple'
y = 'Banana'
print('fruit1 : {fruit1}, fruit2 : {fruit2}'.format(fruit1 = x, fruit2 = y))
# fruit1 : Apple, fruit2 : Banana

置換フィールド { } にキーを使用することもできます。

x = 'Apple'
y = 'Banana'
print('fruit1 : {fruit1}, fruit2 : {fruit2}'.format(**{'fruit1':x, 'fruit2':y}))
# fruit1 : Apple, fruit2 : Banana

スポンサーリンク

"%記法"で文字列に変数を埋め込む方法

C言語などでも使われている%記法を使うことで、変数を文字列に埋め込むこともできます

文字列内の変数を埋め込みたい箇所に、フォーマット指定子を記述します。

書き方

" 文字列 %s " % (変数1, 変数2, ・・ )

%sや、%dがフォーマット指定子と呼ばれるものです。

おもに以下のようなフォーマット指定子があります。

フォーマット指定子データ
%d整数型
%f浮動小数点型
%c1文字
%s文字列

以下、%記法を用いて、文字列に変数を埋め込むサンプルコードです。

fruit = 'Apple'
price = 200

print('果物 : %s, 値段 : %d円' % (fruit, price))
# 果物 : Apple, 値段 : 200円

なお、print関数の使い方については下記の記事で紹介しているので、併せて参考にしてみてください。

【Python】print関数の基本的な使い方まとめ【改行、区切り文字、桁数指定など】

スポンサーリンク

-文字列, 文法・環境
-,