Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python 3で辞書を使って文字列をフォーマットする方法

Pythonでは、辞書(dict)を活用して文字列への値の埋め込み(補間)を行うことができます。この構文では、%と変換文字の間の括弧内に、辞書のキー名を指定します。例えば、キー'cost'に格納された浮動小数点数を$xxxx.xxの形式で表示したい場合は、表示したい位置に'$%(cost).2f'と記述します。

辞書を使った文字列フォーマットの基本例

以下は、辞書を使った文字列フォーマットで、文字列と数値を同時に補間・整形する例です。

>>> print('%(language)s has %(number)03d quote types.' % {'language': "Python", "number": 2})
Python has 002 quote types.

フォーマット指定子の解説

  • %(language)s:キーlanguageの値を文字列として挿入します。
  • %(number)03d:キーnumberの値を整数として挿入し、0埋めで3桁に揃えます。そのため「2」が「002」と表示されます。

このように、複数の値を1つの辞書にまとめて渡せるため、可読性が高く、順番を気にせずにフォーマットできるのが利点です。

より詳しく学ぶには

printf形式の文字列フォーマットやその演算子について、さらに詳しく知りたい方は、公式ドキュメントを参照してください。
https://docs.python.org/3/library/stdtypes.html#printf-style-string-formatting

補足:より現代的な代替手段

%によるフォーマットは「printf形式」と呼ばれる古典的な手法ですが、Python 3ではより柔軟な方法も用意されています。

  • str.format()メソッド'{language} has {number:03d} quote types.'.format(language='Python', number=2)
  • f文字列(f-string):Python 3.6以降で利用可能。f"{language} has {number:03d} quote types."

特にf文字列は簡潔で高速なため、新しいコードではこちらが推奨されることが多いです。ただし、既存コードの保守やログ出力などでは%形式も依然として広く使われています。

  1. Pythonで文字列から文字を削除する方法|スライス・replace・正規表現の使い分け

    Pythonで文字列から特定の文字を削除したい場面はよくあります。目的に応じていくつかの方法があるため、それぞれの特徴と使い方を解説します。 特定のインデックスの文字を削除する(スライス) 文字列の中から指定した位置(インデックス)の1文字だけを削除したい場合は、文字列スライスを使うのが最もシンプルです。削除したい位置の前後をつなぎ合わせることで、その文字だけを取り除いた新しい文字列を作成できます。 >>> s = Hello World >>> s[:4] + s[5:] Hell World この例では、インデックス4にある「o」を除外し、それ以外の部

  2. Pythonで文字列を逆順にする方法|スライスとreversed()の使い方を解説

    Pythonでは、文字列スライスやrange演算子を活用することで、文字列を簡単に逆順(反転)にすることができます。この記事では、代表的な2つの方法をわかりやすく解説します。 方法1:スライス記法 [::-1] を使う(推奨・高速) 最もシンプルで一般的なのが、スライス記法を使う方法です。ステップに -1 を指定するだけで、文字列を後ろから前へ一文字ずつ取り出せます。 >>> Hello[::-1] olleH >>> Halloween[::-1] neewollaH スライスの仕組み 角括弧 [] の中には、コロン「:」で区切った3つの値を指定できます