- シンプルな構文: formatメソッドは、{}を使用して文字列内の置換フィールドを指定します。この構文は直感的であり、可読性が高くなります。一方、%演算子は、置換するための%記号とフォーマット指定子を使用するため、複雑な構文になりがちです。
例: name = "John" age = 25 formatted_string = "My name is {} and I'm {} years old.".format(name, age)
- フォーマットの柔軟性: formatメソッドでは、置換フィールド内に任意の式や変数を組み込むことができます。これにより、動的な値のフォーマットが容易になります。一方、%演算子では、フォーマット指定子によって制約が課されるため、柔軟性に欠ける場合があります。
例: price = 19.99 formatted_string = "The price is ${:.2f}".format(price)
- 文字列の再利用性: formatメソッドを使用すると、同じフォーマットを複数の文字列に適用することができます。これにより、コードの再利用性が向上します。一方、%演算子は、フォーマット指定子ごとに異なる文法を持つため、再利用性に制約がある場合があります。
例: name = "Alice" greeting = "Hello, {}!" formatted_greeting1 = greeting.format(name) formatted_greeting2 = greeting.format("Bob")
以上の理由から、Pythonのスタイルガイドでは、%演算子よりもformatメソッドを使用することを推奨しています。