出典:?20220805

f文字列

 Python 3.6以降ではf文字列(フォーマット済み文字列)を使うと簡単に、数値や文字列の書式化を行える。f文字列は文字列を囲むシングルクオートやダブルクオートの前に「f」を置くことで作成できる。

 f文字列内には波かっこ「{}」で囲まれた「置換フィールド」を記述して、そこに「{式:書式指定子}」という形式で、書式化する対象となる式(変数名など)と、それをどのように書式化するかを指定する(「:書式指定子」の前には「!r」「!s」「!a」という「変換フィールド」を記述できる。これは「書式指定子」を使った書式化の前に、式の値をrepr関数、str関数、ascii関数で文字列化することを指示するもの。ただし、本稿では説明は省略する)。

 書式指定子としては例えば次のようなものを指定できる。詳細については「Python入門」の「文字列の書式指定」などを参照のこと。

  • 埋め文字:式を書式化する際に使用する埋め文字。デフォルトは空白文字
  • 文字寄せ:左寄せ('<')、右寄せ('>')、中央寄せ('^')、左寄せで符号と値の間を文字埋めするか('=')を指定
  • 符号:常に符号を表示('+')、負値のみ符号を表示('-')、正値では符号の代わりに空白文字を表示して、負値のときには負号を表示(' ')
  • 0:埋め文字に「0」、文字寄せに「=」を指定するのと同値(0埋めを意味する0)
  • 最小幅:書式指定後の文字列の最小文字数を指定。指定を省略したときには書式指定後の文字列長が表示幅となる

 上記例の「04」は上で強調書体とした「0埋めを意味する0」に続けて「最小幅」を指定したものと考えられる。f文字列(および次に取り上げるformatメソッド)においては、0埋めするにはこの指定を行うのが簡単だ。