Python 文字列のフォーマット
1. 文字列のフォーマット (String Format)
前の章(文字列の連結)で学んだように、Pythonでは以下のように文字列と数値(Numbers)を + 演算子で直接結合することはできません。
エラーになる例:
age = 36
txt = "私の名前はジョンです。年齢は " + age
print(txt)文字列と数値を組み合わせて出力するには、f-strings(f文字列)を使用するのがモダンで最も効率的な方法です。
2. f-strings (f-文字列)
f-stringsは Python 3.6 で導入された機能で、文字列をフォーマットするための推奨される手法です。
f-stringを定義するには、文字列の先頭に f または F を付け、波括弧 {} を使用して変数や値を埋め込みます。
例:f-stringを使用してテキストに変数を挿入する
age = 36
txt = f"私の名前はジョンです。年齢は {age} です。"
print(txt)3. プレースホルダと修飾子 (Placeholders and Modifiers)
プレースホルダ(Placeholder)となる {} の中には、変数、演算、関数、修飾子を含めることができます。
3.1 修飾子の使用
修飾子(Modifier)を使用するには、プレースホルダ内にコロン : を追加し、その後に .2f のような書式(Format)を指定します。これにより、数値を小数点以下2桁の浮動小数点数として表示するといった制御が可能になります。
例:価格を小数点以下2桁で表示する
price = 59
txt = f"価格は {price:.2f} ドルです。"
print(txt)4. プレースホルダ内での演算
Pythonのf-stringsでは、プレースホルダの中で直接Pythonコードを実行できるため、計算処理なども行えます。
例:プレースホルダ内で数学的な計算を行う
txt = f"価格は {20 * 59} ドルです。"
print(txt)また、計算だけでなく、if-else文のような論理演算や、メソッドの呼び出しも可能です。
例:計算結果に基づいて特定のテキストを返す
price = 49
txt = f"価格は {price} ドルです。{'高価です' if price > 50 else '安価です'}"
print(txt)例:文字列メソッドをプレースホルダ内で実行する
fruit = "apples"
txt = f"私は {fruit.upper()} が大好きです。"
print(txt)このように、f-stringsを活用することで、複雑な文字列構築も非常にシンプルかつ直感的に記述できるようになります。