Pythonのf文字列(f-string)の使い方:変数の埋め込みと式評価を簡潔に記述する

Python 3.6で導入された f-string(フォーマット済み文字列リテラル) は、文字列の中に変数や計算式を埋め込むための、現在最も推奨されている記法です。

従来の .format() メソッドや % 演算子と比較して、コードの記述量が減り、可読性が大幅に向上します。また、実行速度も高速であるという特徴があります。

この記事では、f-stringの基本的な使い方から、式評価や書式指定といった応用的な機能について解説します。

目次

f-stringの基本構文

f-stringを使用するには、文字列の開始クォート(" または ')の直前に f または F を付けます。そして、文字列内の {}(波括弧) の中に変数名や式を記述します。

構文:

f"文字列 {変数名} 文字列"

具体的な使用例:在庫管理システム

商品の名前と在庫数を表示するプログラムを例にします。

product_name = "ゲーミングモニター"
current_stock = 15

# f-string を使って変数を埋め込む
status_message = f"商品名: {product_name} | 在庫数: {current_stock}個"

print(status_message)

実行結果:

商品名: ゲーミングモニター | 在庫数: 15個

変数が自動的に文字列に変換され、指定した位置に埋め込まれていることがわかります。

{} 内での式評価とメソッド呼び出し

f-stringの強力な点は、{} の中に単なる変数だけでなく、Pythonの式(計算式)やメソッド呼び出しを直接記述できることです。

計算式の埋め込み

在庫数と単価から、在庫総額をその場で計算して表示します。

unit_price = 25000
stock = 4

# {} の中で掛け算を行う
total_value_msg = f"在庫総額: {unit_price * stock}円"

print(total_value_msg)

実行結果:

在庫総額: 100000円

メソッドの呼び出し

文字列のメソッドなどを実行した結果を表示することも可能です。

code = "item-a001"

# .upper() メソッドを呼び出して大文字にする
formatted_code = f"商品コード: {code.upper()}"

print(formatted_code)

実行結果:

商品コード: ITEM-A001

書式指定(フォーマット)

f-stringでは、{値:書式} の形式でコロンの後に書式指定子を記述することで、数値の桁区切りや小数点以下の桁数を制御できます。

price = 12800
tax_rate = 0.1

# 1. カンマ区切り (:,)
# 2. 小数点以下1桁まで表示 (:.1f)
price_info = f"本体: {price:,}円 (税込: {price * (1 + tax_rate):,.1f}円)"

print(price_info)

実行結果:

本体: 12,800円 (税込: 14,080.0円)

まとめ

  • f"..." のように、クォートの前に f を付けることでf-stringになります。
  • {変数名} で変数の値を埋め込みます。
  • {式} で計算結果やメソッドの戻り値を埋め込みます。
  • {値:書式} で表示形式(桁区切りや小数桁数)を指定できます。

Python 3.6以降を使用している場合は、可読性とパフォーマンスの観点から、.format() よりもf-stringの使用を優先することが推奨されます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次