文字列をformat()メソッドを使って表示する
文字列と数値を混在させて画面に表示する場合は、str()関数を使って数値型を文字列型に変換させる必要があります。
実行例
>>> year = 2020
>>> month = 4
>>> day = 24
>>> "今日は" + str(year) + "年" + str(month) + "月" + str(day) + "日です"
'今日は2020年4月24日です'
format()メソッドの基本的な使い方
strクラスのformat()メソッドを使って上記と同じように表示するには、以下のようにします。
{}は置換フィールドで、format()メソッドの引数の値が{}に置き換わります。
{}に何も指定しなければ、引数の値が順番に置換されます。
実行例
>>> "今日は{}年{}月{}日です".format(year, month, day)
'今日は2020年4月24日です'
メモ
文字列はstrクラスのインスタンスです。
format()メソッドの位置引数を使う
置換フィールドに値の位置を指定することができます。
引数の順番は0から始まります。
実行例
>>> "今日は{2}年{1}月{0}日です".format(day, month, year)
'今日は2020年4月24日です'
format()メソッドの名前引数を使う
置換フィールドに名前をつけて指定することができます。
実行例
>>> 今日は{arg1}年{arg2}月{arg3}日です".format(arg1=year, arg2=month, arg3=day)
'今日は2020年4月24日です'
format()メソッドの書式設定
format()メソッドは、多くの書式を設定することができます。
:(コロン)の左側には位置を指定することができます。
"{:<幅}”.format(値) | 左揃えで表示する |
"{:>幅}”.format(値) | 右揃えで表示する |
"{:^幅}”.format(値) | 中央揃えで表示する |
"{:.小数桁f}”.format(値) | 小数を表示する(デフォルトの小数点以下は6桁) |
"{:b}”.format(値) | 2進数を表示する |
"{:o}”.format(値) | 8進数を表示する |
"{:d}”.format(値) | 10進数を表示する |
"{:x}”.format(値) | 16進数を表示する |
"{:,}”.format(値) | 千の位でカンマを表示する |
"{:.小数桁%}”.format(値) | パーセントを表示する |
実行例
>>> "{:<10}".format(12345)
'12345 '
>>> "{:>10}".format(12345)
' 12345'
>>> "{:^10}".format(12345)
' 12345 '
>>> "{:.2f}".format(12345)
'12345.00'
>>> "2進数={0:b},8進数={0:o},10進数={0:d},16進数={0:x}".format(16)
'2進数=10000,8進数=20,10進数=16,16進数=10'
>>> "{:.2%}".format(3 / 7)
'42.86%'