【Python】文字列のメソッド➂書式化formatメソッドの使い方

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

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

書式化とは?

書式とは決まった書き方のことです。日本語でもフォーマットを作成するという言い方をしますね。

フォーマット(書式)を作ると文章の大枠ができると考えておきましょう。その大枠に従って必要な部分を変更するとゼロら資料を作るより簡単になりますし、資料の書き方も統一されるので見やすくなります。

今回紹介するformatメソッドは文字列を書式化するためのものです。文字列は変更不可(イミュータブル)という性質を持っていますが、このメソッドを使うと一部を変更できます。

では、その使い方を見ていきましょう。

formatメソッドの使い方

基本の使い方

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

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

複数置換する場合

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

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

書式設定

書式の書き方

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

文字列の置換

オプションに続けて整数を書くと文字列の置換設定ができます。文字列str型にしか適応されないので要注意です。

整数の置換

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

小数の置換

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

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

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

パディング

パディングとは

パディングとは指定した文字で空白を置き換えることです。以下のように「*」「0」などを指定できます。もちろん他の文字も指定できます。

文字列のパディング

整数のパディング

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

小数のパディング

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

まとめ

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

当ブログではPython初心者が独学で習得するためのカリキュラムを公開中!

初心者がPythonを独学で習得できたロードマップはコチラ

【Python】文字列のメソッド➂書式化formatメソッドの使い方
最新情報をチェックしよう!