【Python】書式化formatメソッドの使い方(桁数・0埋め・複数引数・string・そろえる・切り捨て)

Pythonの文字列で値を変えたいときに使えるのが書式化のformatメソッドです。文字列の指定した位置に値を代入できます。

for文でループさせるときなどにも使える方法なので知っておくととっても便利です。

書式化とは?

書式とは文書や書類の定められた様式のことです。日本語でもフォーマットを作成するという言い方をしますね。

フォーマット(書式)を作ると文章の大枠ができると考えておきましょう。

その大枠に従って必要な部分を変更するとゼロら資料を作るより簡単になりますし、資料の書き方も統一されるので見やすくなります。

今回紹介するformatメソッドは文字列を書式化するためのものです。

文字列は変更不可(イミュータブル)という性質を持っていますが、このメソッドを使うと一部を変更できます。

formatメソッドの使い方

  • 文字列内に波カッコ{ }を挿入
  • 波カッコを複数使うことも可能
  • 波カッコの番号を指定することも可能

基本の使い方

文字列内に入力した波カッコ({})に指定した文字が置換されます

数値の場合はクォートがあってもなくてもエラーにはなりませんが、文字列を置換する場合はクォートをつけましょう。

複数置換する場合

波カッコを複数書くことで順番に置換できます。2つ目のように波カッコの中にインデックスを書くこともできます。

formatメソッドの引数の順番と波カッコに置換する順番が同じであればインデックスを省略できますが、もし順番が異なるのであれば3つ目の例のように書いておきましょう。

書式設定

書式の書き方

  • 「{インデックス:書式設定}」と書く
    • コロン(:)の後ろに書式設定を書き込めます。
    • インデックスは省略可能
オプション意味
.(ピリオド)桁数指定
<(小なり)左揃え(省略可)
>(大なり)右揃え
^(ハット)中央揃え
d整数を扱うとき
f小数を扱うとき

文字列の桁数

オプションに続けて整数を書くと文字列の置換設定ができます。

文字列str型にしか適応されないので要注意です。

整数の置換

  • 整数を扱うなら「d」をつける
  • 左右中央揃えはできるが桁数は削れない
    • 「<,>,^」は使えるが「.」は使えない

小数の置換

  • 小数を扱うなら「f」をつける
  • 左右中央揃えはできない
    • 小数点以下にゼロが追加される
  • 「.」で小数点以下の桁数を指定できる
    • 四捨五入されて表示される

以下は小数第1位まで表示しています。小数第2位は四捨五入されています。また、小数を扱うので「f」がついています。

小数では左右中央揃えできません。小数点以下にゼロが追加されて桁数を自動で調節されます。

パディング

パディングとは

パディングとは余白という意味もありますが、文字列の場合はデータの長さをそろえるために前後に挿入された文字列のことを言います。

言い換えると、空白を置き換えるための文字ことです。以下のように「*」「0」などを指定できます。もちろん他の文字も指定できます。

文字列のパディング(そろえる・0埋め)

整数のパディング(0埋め)

整数や小数でパディングを使いたいときは「d」「f」を忘れずにつけておきましょう。

小数のパディング(0埋め)

「0」でパディングするときはオプション「<,>,^」が無くてもエラーにはなりませんが、「*」などの数値以外でパディングするときはオプションがないとエラーになります。

まとめ

  • 文字列の書式化にはformatメソッドを使う
  • 波カッコ({})の部分が置換される
    • インデックスを指定できる
  • 書式オプションを指定できる
    • コロン(:)の後ろに書く
    • 左右中央揃え「<,>,^」
    • 桁数指定「.」
    • 整数「d」小数「f」

関連記事

プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]