コンテンツにスキップ

Pythonで文字列を補間する方法

[

Pythonのチュートリアルには、詳細で実行可能なステップバイステップのサンプルコードと説明が含まれています。以下では、Pythonの文字列補間についてのチュートリアルをマークダウン形式で再構築します。


Pythonの文字列補間とフォーマットのためのF-String

Python Tricks Dictionary Merge

PythonのF-Stringを使用すると、文字列を補間してフォーマットするための素早い方法が提供されます。F-Stringは読みやすく、簡潔であり、.format()メソッドやパーセント演算子(%)などの従来の文字列補間およびフォーマットツールよりもエラーの発生が少なくなります。F-Stringはこれらのツールよりも少し高速です。

このチュートリアルの最後までには、Python開発者として学び、マスターすべき強力なツールであるF-Stringの理由がわかるでしょう。

このチュートリアルでは、以下のことを学びます。

  • F-Stringを使用して値、オブジェクト、および式を文字列に補間する方法
  • Pythonの文字列フォーマットのミニ言語を使用して、F-Stringをフォーマットする方法
  • Python 3.12以降のF-Stringのクールな機能を活用する方法
  • F-Stringの代わりに従来の補間ツールを使用するタイミングを決定する方法

このチュートリアルを最大限に活用するためには、Pythonの文字列データ型に慣れていることが望ましいです。また、パーセント演算子(%)や.format()メソッドなどの他の文字列補間ツールの経験もあると役立ちます。

Python 3.6以前の文字列の補間とフォーマット

Python 3.6以前では、文字列リテラル内で値、変数、および式を補間するための主なツールは2つありました。

  1. 文字列補間演算子(%)またはパーセント演算子
  2. str.format()メソッド

以下のセクションで、これらの2つの文字列補間ツールについて復習します。また、文字列フォーマットの機能についても学びます。

Python 3.6以前の文字列補間方法

演算子(%)による補間

パーセント演算子(%)は、文字列内でプレースホルダーを指定するために使用されます。次のように使用します。

name = "Alice"
age = 25
greeting = "My name is %s and I'm %d years old." % (name, age)
print(greeting)

このコードでは、%sは文字列を、%dは整数を表します。%の後に続くタプルは、プレースホルダーを置き換えるための値です。結果の出力は次のようになります。

My name is Alice and I'm 25 years old.

.format()メソッドによる補間

str.format()メソッドは、文字列内のプレースホルダーを指定するために使用されます。次のように使用します。

name = "Alice"
age = 25
greeting = "My name is {} and I'm {} years old.".format(name, age)
print(greeting)

このコードでは、{}がプレースホルダーを表します。format()メソッドの引数は、プレースホルダーを置き換えるための値です。結果の出力は次のようになります。

My name is Alice and I'm 25 years old.

Pythonのstr.format()メソッドは、複数の引数やキーワード引数を使用してプレースホルダーを指定することもできます。

PythonでF-Stringを使用した文字列補間の実行

Python 3.6以降では、F-String(フォーマット済み文字列リテラル)を使用して文字列の補間とフォーマットを行うことができます。F-Stringは、文字列のプレースホルダーと式を直接埋め込むことができるため、非常に便利です。

F-Stringを使用した値とオブジェクトの補間

F-Stringを使用して値やオブジェクトを補間するには、文字列の先頭にfまたはFを追加し、プレースホルダーに変数や式を直接埋め込みます。

name = "Alice"
age = 25
greeting = f"My name is {name} and I'm {age} years old."
print(greeting)

このコードでは、{}がプレースホルダーを表します。{}内には変数名や式を直接埋め込むことができます。結果の出力は次のようになります。

My name is Alice and I'm 25 years old.

F-Stringに式を埋め込む

F-Stringでは、プレースホルダー内に式を埋め込むこともできます。これにより、より複雑な操作や演算を行うことができます。

name = "Alice"
age = 25
greeting = f"My name is {name.upper()} and I'll be {age + 1} years old next year."
print(greeting)

このコードでは、{}内に関数呼び出しや算術演算子を含んだ式を埋め込むことができます。結果の出力は次のようになります。

My name is ALICE and I'll be 26 years old next year.

PythonのF-Stringでの文字列のフォーマット

F-Stringは文字列の補間だけでなく、フォーマットもサポートしています。Pythonの文字列フォーマットミニ言語を使用して、F-Stringをより柔軟にフォーマットすることができます。

name = "Alice"
age = 25
greeting = f"My name is {name:!^20} and I'm {age:04} years old."
print(greeting)

このコードでは、{}内に:を使用してフォーマット指定子を指定することができます。結果の出力は次のようになります。

My name is !!!!!!!!Alice!!!!!!!! and I'm 0025 years old.

このように、PythonのF-Stringを使用すると、文字列を簡単に補間してフォーマットすることができます。F-Stringは他の文字列補間ツールと比較しても読みやすく、簡潔でエラーが少なく、パフォーマンスも高速です。Python開発者として、F-Stringを学び、マスターすることは非常に重要です。

以上が、PythonのF-Stringによる文字列補間とフォーマットのチュートリアルでした。