Pythonのformat()メソッド:文字列を美しく飾る魔法
Pythonを学んでいる皆さん、文字列を扱う際に、変数の中身を埋め込んだり、表示形式を整えたりしたいと思ったことはありませんか? そんな時に非常に便利なのが、Pythonのformat()
メソッドです。 今回は、このformat()
メソッドについて、初心者の方にも分かりやすく解説します。
format()メソッドとは?
format()
メソッドは、文字列の中に埋め込みたい値を、指定した書式で挿入することができるメソッドです。 文字列の中に {}
で囲まれたプレースホルダー(置換フィールド)を用意し、format()
メソッドの引数に値を渡すことで、プレースホルダーがその値で置き換えられます。
基本的な使い方
まずは、最も基本的な使い方を見てみましょう。
name = "太郎"
age = 20
message = "私の名前は{}で、年齢は{}歳です。".format(name, age)
print(message) # 出力:私の名前は太郎で、年齢は20歳です。
この例では、name
とage
という変数の中身を、message
という文字列に埋め込んでいます。 format()
メソッドの引数の順番と、{}
の順番が対応していることに注目してください。
インデックス指定
プレースホルダーの中にインデックスを指定することで、format()
メソッドの引数の順番に関係なく値を埋め込むことができます。
message = "私の名前は{1}で、年齢は{0}歳です。".format(age, name)
print(message) # 出力:私の名前は太郎で、年齢は20歳です。
この例では、{0}
がage
、{1}
がname
に対応しています。
キーワード引数
インデックスの代わりにキーワード引数を使うこともできます。
message = "私の名前は{name}で、年齢は{age}歳です。".format(name="花子", age=25)
print(message) # 出力:私の名前は花子で、年齢は25歳です。
この方法では、プレースホルダーにキーワードを指定し、format()
メソッドの引数でそのキーワードに対応する値を指定します。 引数の順番を気にする必要がないので、コードが読みやすくなります。
書式指定
format()
メソッドの真骨頂は、値の表示形式を細かく指定できることです。 プレースホルダーの中でコロン :
を使うことで、様々な書式指定が可能です。
数値の書式指定
d
: 整数 (decimal)f
: 浮動小数点数 (fixed-point)e
: 指数表記 (exponent notation)%
: パーセント表示
pi = 3.1415926535 print("円周率: {:.2f}".format(pi)) # 出力:円周率: 3.14 (小数点以下2桁) print("円周率: {:.3e}".format(pi)) # 出力:円周率: 3.142e+00 (指数表記、小数点以下3桁) print("正答率: {:.1%}".format(0.75)) # 出力:正答率: 75.0% (パーセント表示、小数点以下1桁) print("整数: {:d}".format(10)) # 出力:整数: 10
文字列の書式指定
<
: 左寄せ>
: 右寄せ^
: 中央寄せs
: 文字列
word = "hello" print("{:<10}".format(word)) # 出力:hello (左寄せ、10文字分の幅) print("{:>10}".format(word)) # 出力: hello (右寄せ、10文字分の幅) print("{:^10}".format(word)) # 出力: hello (中央寄せ、10文字分の幅)
桁区切り
数値を桁区切りで表示することもできます。
number = 1234567890 print("{:,}".format(number)) # 出力:1,234,567,890
f文字列 (f-string)
Python 3.6以降では、f文字列
と呼ばれる、より簡潔に文字列のフォーマットができる機能が導入されました。 f文字列
は、文字列の先頭にf
を付け、プレースホルダーの中に直接変数を記述します。
name = "次郎"
age = 30
message = f"私の名前は{name}で、年齢は{age}歳です。"
print(message) # 出力:私の名前は次郎で、年齢は30歳です。
pi = 3.1415926535
print(f"円周率: {pi:.2f}") # 出力:円周率: 3.14
f文字列
は、format()
メソッドよりもコードが簡潔になるため、非常に人気があります。
まとめ
format()
メソッドは、文字列を柔軟かつ美しく整形するための強力なツールです。 基本的な使い方から、書式指定、f文字列
までを理解することで、より表現力豊かなプログラムを書くことができるようになります。 ぜひ、色々な例を試して、format()
メソッドをマスターしてください!