はじめに
Pythonの f文字列(フォーマット済み文字列リテラル)は、Python 3.6から導入された強力な機能です。文字列内に直接Python式を埋め込むことができ、コードの可読性と効率を大幅に向上させます。この記事では、f文字列の便利な使い方を10個紹介します。
Pythonのf文字列:便利な使い方10選
-
基本的な変数の挿入
-
式の評価
-
メソッドの呼び出し
-
辞書のアクセス
-
条件式(三項演算子)
-
フォーマット指定子の使用
-
左寄せ、中央寄せ、右寄せ
-
日付のフォーマット
-
2進数、8進数、16進数表現
-
デバッグ用の=指定子
1. 基本的な変数の挿入
最も基本的な使い方は、変数の値を文字列に挿入することです。
name = "太郎"
age = 30
print(f"私の名前は{name}で、{age}歳です。")
実行結果:
私の名前は太郎で、30歳です。
2. 式の評価
f文字列内では、Python式を評価できます。
x = 10
y = 20
print(f"{x} + {y} = {x + y}")
実行結果:
10 + 20 = 30
3. メソッドの呼び出し
オブジェクトのメソッドを直接呼び出すこともできます。
name = "python"
print(f"大文字: {name.upper()}")
実行結果:
大文字: PYTHON
4. 辞書のアクセス
辞書のキーを使って値にアクセスできます。
person = {"name": "花子", "age": 25}
print(f"{person['name']}さんは{person['age']}歳です。")
実行結果:
花子さんは25歳です。
5. 条件式(三項演算子)
f文字列内で条件式を使用できます。
x = 15
print(f"{x}は{'偶数' if x % 2 == 0 else '奇数'}です。")
実行結果:
15は奇数です。
6. フォーマット指定子の使用
数値のフォーマットを指定できます。
pi = 3.14159
print(f"円周率は{pi:.2f}です。")
実行結果:
円周率は3.14です。
7. 左寄せ、中央寄せ、右寄せ
文字列の位置揃えも簡単に行えます。
name = "Python"
print(f"{name:<10}|") # 左寄せ
print(f"{name:^10}|") # 中央寄せ
print(f"{name:>10}|") # 右寄せ
実行結果:
Python |
Python |
Python|
8. 日付のフォーマット
datetime
オブジェクトのフォーマットも直接指定できます。
from datetime import datetime
now = datetime.now()
print(f"現在時刻: {now:%Y-%m-%d %H:%M:%S}")
実行結果(実行時の日時により異なります):
現在時刻: 2024-07-28 12:34:56
9. 2進数、8進数、16進数表現
整数を異なる進数で表現できます。
num = 42
print(f"10進数: {num}")
print(f"2進数: {num:b}")
print(f"8進数: {num:o}")
print(f"16進数: {num:x}")
実行結果:
10進数: 42
2進数: 101010
8進数: 52
16進数: 2a
10. デバッグ用の=指定子
Python 3.8以降では、変数名と値を同時に表示できる=
指定子が使えます。
x = 10
y = 20
print(f"{x=}, {y=}")
実行結果:
x=10, y=20
まとめ
f文字列は、Pythonのコードをより簡潔で読みやすくする強力なツールです。これらの使い方を覚えておけば、文字列操作がより効率的になり、コードの品質も向上するでしょう。ぜひ、日々のコーディングで活用してみてください!
参考情報
-
Python公式ドキュメント - フォーマット済み文字列リテラル:
https://docs.python.org/ja/3/reference/lexical_analysis.html#f-strings -
Python公式ドキュメント - フォーマット済み文字列リテラル (PEP 498):
https://peps.python.org/pep-0498/ -
Python公式ドキュメント - 文字列とバイナリデータの操作:
https://docs.python.org/ja/3/library/string.html
これらの公式ドキュメントでは、f文字列の詳細な仕様や高度な使い方について学ぶことができます。特に、最新のPythonバージョンでの機能追加や変更点についても確認できるので、定期的にチェックすることをおすすめします。