str.format() 文字列のフォーマット
最終更新:2026-09-22
str.format() 文字列のフォーマット
str.format(*args, **kwargs) はプレースホルダ {} を args/kwargs で置き換える。
| カテゴリ | 文字列メソッド |
|---|---|
| 種類 | 組み込み型メソッド |
| Python バージョン | all |
📝 構文
str.format(...)
⚙️ 引数
| args 任意 | Variable positional args mapped to {} or {0} placeholders. |
|---|---|
| kwargs 任意 | Variable keyword args mapped to {name} placeholders. |
戻り値:str. A new string with placeholders replaced by args/kwargs.
元のオブジェクトを変更するか:いいえ(新しいオブジェクトを返す)
💥 例外
IndexError— Raised when a positional placeholder index is out of range.KeyError— Raised when a placeholder field name is missing from kwargs.ValueError— Raised for an invalid format specifier or field reference syntax.
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
Hello, World!
Alice is 30
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Q{} プレースホルダの書き方には何通りありますか?
A3 通りです:{} は位置で自動マッチ、{0}/{1} はインデックス、{name} はキーワードで指定します。例:'{0}-{name}'.format(1, name='x') は '1-x' になります。
Qプレースホルダと引数が合わない場合、どんなエラーが発生しますか?
A位置プレースホルダで引数の数を超えるインデックスを指定すると IndexError、{name} に対応するキーワードが欠けると KeyError、書式指定子が不正だと ValueError が発生します。
Qリテラルの {} を出力するには?
A波括弧を二重にしてエスケープします:'{{}}'.format() は '{}' になります。
Qこれを使うべきですか、それとも f-string を使うべきですか?
A多くの場合は f-string(Python 3.6+)を優先しましょう。読みやすいからです。format() は書式文字列を動的に組み立てる必要がある変数に格納されたテンプレートに適しています。