Python 3における文字列フォーマット:% vs. .format vs. f-stringリテラル

PYTHON3 チュートリアル

Python 3における文字列フォーマット方法の比較

Python 3では複数の文字列フォーマット方法が提供されており、それぞれに特徴や適した使用シナリオが存在します。主に使われる方法は次の三つです:「%フォーマット」、「str.format()」、「f-strings」。これらの方法を理解し、適切な場面で使い分けることが重要です。

%フォーマット

古いスタイルのフォーマットであり、C言語のprintfスタイルに似ています。シンプルな場面や既存の古いコードの維持に適していますが、複雑なフォーマットには少し手間がかかることがあります。

name = "山田"
age = 30
print("名前: %s, 年齢: %d" % (name, age))

str.format()

より柔軟性があり、読みやすいフォーマット方法です。インデックスやキーワードを使って明確に値を指定できるため、複数の変数を扱う場合に便利です。

name = "佐藤"
age = 25
print("名前: {}, 年齢: {}".format(name, age))
print("名前: {1}, 年齢: {0}".format(age, name))  # インデックスによる位置指定

f-strings

Python 3.6以降で利用可能な最新のフォーマット方法で、簡潔さと読みやすさを兼ね備えています。式を直接埋め込むことができるため、動的な値の表示に非常に便利です。

name = "鈴木"
age = 20
print(f"名前: {name}, 年齢: {age}")

各フォーマット方法の選択基準

どのフォーマット方法を選ぶかは、プロジェクトの要件や個人の好み、保守性などにより異なります。

  • %フォーマット:既存のプロジェクトで広く使われている場合や、非常にシンプルな文字列操作に適しています。
  • str.format():複数の値を柔軟に配置したい場合や、文字列内での条件分岐が必要な場合に向いています。
  • f-strings:コードの可読性を重視し、Python 3.6以上を使用している場合に最適です。特に、変数の値に基づく動的な文字列生成が求められる場面で有効です。

以上の情報をもとに、プロジェクトの具体的な状況や要件に応じて最適な文字列フォーマット方法を選択することができます。

購読
通知
0 Comments
Inline Feedbacks
View all comments