Python3 #34: 文字列のフォーマット(String Formatting)

独習 PYTHON 3

文字列のフォーマットは、文字列を動的に生成するための強力なツールです。Pythonでは、複数の方法を用いて文字列のフォーマットを行うことができます。これにより、変数や計算結果を文字列内に埋め込むことが容易になります。代表的な方法には、旧スタイルの%演算子、str.format()メソッド、そしてPython 3.6以降で導入されたf文字列(フォーマット済み文字列リテラル)があります。それぞれの方法を理解し、使いこなすことで、より柔軟で読みやすいコードを書くことができます。

※初心者向けの13冊のPython独学書

1. Python3における文字列のフォーマット

Pythonでは、文字列をフォーマットするための方法がいくつかあります。ここでは、代表的な3つの方法を紹介します。

  1. 旧スタイルのフォーマット(%演算子)
  2. str.format()メソッド
  3. f文字列(フォーマット済み文字列リテラル)

1.1. 旧スタイルのフォーマット(%演算子)

これはC言語に似たスタイルで、%演算子を使用して文字列をフォーマットします。

name = "太郎"
age = 20
formatted_string = "名前: %s, 年齢: %d" % (name, age)
print(formatted_string)

1.2. str.format()メソッド

この方法は、Python 2.7以降で導入されたもので、{}をプレースホルダーとして使用します。

name = "太郎"
age = 20
formatted_string = "名前: {}, 年齢: {}".format(name, age)
print(formatted_string)

名前付きプレースホルダーを使うこともできます。

formatted_string = "名前: {name}, 年齢: {age}".format(name="太郎", age=20)
print(formatted_string)

1.3. f文字列(フォーマット済み文字列リテラル)

Python 3.6以降で使用できるこの方法は、f文字列と呼ばれ、非常に直感的で強力です。文字列の先頭にfを付け、{}内に変数や式を埋め込みます。

name = "太郎"
age = 20
formatted_string = f"名前: {name}, 年齢: {age}"
print(formatted_string)

式も使用可能です。

formatted_string = f"名前: {name}, 年齢: {age + 1}"
print(formatted_string)

2.フォーマットオプション

2.1. 数値のフォーマット

数値をフォーマットする際には、特定のフォーマット指定子を使用できます。

pi = 3.14159
formatted_string = f"円周率: {pi:.2f}"  # 小数点以下2桁まで表示
print(formatted_string)

2.2. 文字列の幅と位置揃え

文字列の幅を指定し、左揃え、右揃え、中央揃えを行うことができます。

name = "太郎"
formatted_string = f"名前: {name:<10}"  # 左揃え、幅10
print(formatted_string)

formatted_string = f"名前: {name:>10}"  # 右揃え、幅10
print(formatted_string)

formatted_string = f"名前: {name:^10}"  # 中央揃え、幅10
print(formatted_string)

2.3. 複数行のf文字列

複数行に渡る文字列をフォーマットする場合、f文字列を使用することもできます。

name = "太郎"
age = 20
address = "東京都"
formatted_string = (
    f"名前: {name}\n"
    f"年齢: {age}\n"
    f"住所: {address}"
)
print(formatted_string)

2.4. その他のフォーマットオプション

他にも、整数を2進数や16進数で表示したり、パディングや符号の表示を制御するフォーマット指定子があります。

number = 255
formatted_string = f"2進数: {number:b}, 16進数: {number:x}"
print(formatted_string)

まとめ

Pythonの文字列フォーマットは、旧スタイルの%演算子、str.format()メソッド、f文字列(フォーマット済み文字列リテラル)といった複数の方法で行うことができます。f文字列は特に強力で直感的な方法として、Python 3.6以降で推奨されています。これらのフォーマット方法を理解し、用途に応じて適切に使い分けることで、コードの可読性と効率を向上させることができます。

購読
通知
0 Comments
Inline Feedbacks
View all comments