Pythonでは、format()
関数を使って文字列の中に数値や変数を柔軟に埋め込むことができます。初心者でも理解しやすく、複数の変数を組み合わせたり、順番を指定したりと応用も効く便利な方法です。
この記事では、基本の使い方から実践的な応用例までをわかりやすく解説します。
format()関数とは?
format()
は、文字列中の {}
に変数を挿入するための関数です。
name = "Taro"
print("こんにちは、{}さん".format(name)) # こんにちは、Taroさん
format()の型
#format()の型
"文字列{x}".format(a,b,c,...)
「”文字列{x}”」のx部分にformat()で指定した値が入ります。
format()を用いた使用例
基本的な使用例
#基本的な使用例
name = "たけし"
age = 20
moji = "{0}は{1}です。".format(name,age)
print(moji)
文字列中で値を代入したいところに{0}、{1}などと記入します。この場合だったら、2つ代入したいので、{0}、{1}となります。
名前付き引数の使用例
#名前付き引数の使用例1
print("{name}は{age}です。".format(name = "たけし",age = 20))
#名前付き引数の使用例2
moji1 = "{name}は{age}です。"
moji = moji1.format(name = "たけし",age = 20)
print(moji)
両方とも同じ出力結果「たけしは20です。」になります。
数値の整形(応用)
pi = 3.14159
print("円周率は{:.2f}です".format(pi))
# 出力:円周率は3.14です
書式 | 説明 |
---|---|
{:.2f} | 小数点以下2桁まで表示 |
{:>10} | 右寄せ10文字幅で表示 |
{:<10} | 左寄せ10文字幅で表示 |
{:,.0f} | 3桁カンマ区切り、整数表示 |
注意点と落とし穴
{}
の数とformat()
の引数数が一致しないとIndexError
が発生します。format()
の中でstr()
への変換は不要です。
f文字列との違いと使い分け
比較項目 | format()関数 | f文字列(f-string) |
---|---|---|
Pythonバージョン | 2.7以降で利用可能 | 3.6以降のみ |
可読性 | やや冗長になりがち | 簡潔で読みやすい |
柔軟性 | 高い(順序・整形・再利用が可能) | 中〜高(複雑な整形にはやや不向き) |
まとめ
format()
は、複数の値を柔軟に整形・表示したいときに便利な関数です。現在は f文字列
が主流になりつつありますが、古い環境や再利用性のあるテンプレート構文には format()
の方が適している場合もあります。
関連リンク
他の文字列連結方法や、最新の推奨記法であるf文字列についてもチェックしてみましょう!