Python F-Strings: 高度な文字列補間

F 文字列を使用して Python で文字列をフォーマットする方法を学びます。マスター式の評価、浮動小数点精度の書式設定、日時の出力、および自己文書化構文。

エディターで試してみる

概要

文字列のフォーマット設定は、開発者が毎日実行するタスクです。歴史的に、Python の書式設定は C スタイルの `%` 書式設定または `.format()` メソッドに依存していました。これらの古い構文スタイルは機能しますが、多くの場合、コードが冗長で読みにくくなります。Python 3.6 では、一般に F 文字列として知られる書式設定された文字列リテラルが導入されました。 F 文字列は、文字列リテラルに変数や式を直接挿入するための、簡潔で読みやすい、高度に最適化された構文を提供します。

F 文字列を作成するには、文字列リテラルの前に `f` または `F` を付けます (例: `f"Hello {name}"`)。中括弧 `{...}` 内に置かれた変数または Python 式は実行時に評価され、自動的に文字列に変換されます。 F 文字列は変数だけに使用できるものではありません。関数を呼び出したり、数学計算を実行したり、中括弧内の辞書値にアクセスしたりすることもできるため、一時変数は必要ありません。

F 文字列には、豊富な書式設定言語も備えています。中括弧内にコロン「:」を追加すると、書式設定ルールを指定できます。たとえば、`{value:.2f}` は浮動小数点数を小数点以下 2 桁に四捨五入し、`{num:03d}` は整数の先頭にゼロを埋め込み、`{date:%Y-%m-%d}` は日時オブジェクトをフォーマットします。Python 3.8+ では、F-strings にデバッグ構文 `{variable=}` が導入されました。これにより、変数名とその値の両方が自動的に出力され、デバッグが迅速かつ簡単になります。

コードと実行の出力

float フォーマット、式の評価、自己文書化された等号のデバッグをデモンストレーションします。

name = "Charlie"
price = 19.995
quantity = 3

# Basic interpolation and math evaluation
receipt = f"Customer: {name} | Total: ${price * quantity:.2f}"
print(receipt)

# Padding and alignment
number = 42
padded = f"ID: {number:05d}"
print(padded)

# Self-documenting debugging syntax (Python 3.8+)
value = 100
print(f"Debug output: {value=}")
端子出力
Customer: Charlie | Total: $59.99
ID: 00042
Debug output: value=100

段階的な実装

  • レポートとダッシュボードの数値出力を整形する
  • 動的SQLクエリまたはAPIリクエスト・ペイロードの構築
  • ローカルテスト中にクイックデバッグステートメントを出力する

よくある質問

F 文字列は他の文字列フォーマット方法よりも高速ですか?

はい、F 文字列は、実行時に解析されるのではなく、最適化されたバイトコードとして実行時に評価されるため、% フォーマットや .format() よりも高速です。

F 文字列にリテラルの中括弧を出力するにはどうすればよいですか?

リテラルの中括弧は 2 つ増やすことでエスケープできます。たとえば、f"{{Hello}}" はリテラル テキスト '{Hello}' を出力します。

関連トピック

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。