←目次へ
python,Qiita初心者なので、備忘録として記載していきます。
なにせ初心者なので、知識不足はご容赦ください。
知識を深めながら追記していきたいと思います。
printf形式でのフォーマット
基本
- 変換指定子を含む文字列 % 値
- 変換指定子を含む文字列 % (値1,値2,...)
- 変換指定子を組み合わせて使用する
-- 変換指定子の詳細 --
※ -- 省略可 --
1.(マップキー)
2.変換フラグ
変換フラグ | 説明 |
---|---|
"#" | 値の変換に (下で定義されている) "別の形式" を使う |
"0" | 数値型に対してゼロによるパディングを行う |
"-" | 変換された値を左寄せにする ("0"と同時に与えた場合、"0"を上書きする |
" " | (スペース)符号付きの変換で正の数の場合、前に一つスペースを空ける(そうでない場合は空文字になる) |
"+" | 変換の先頭に符号文字('+'または'-')を付ける("スペース"フラグを上書きする |
3.最小フィールド幅
・ 確保される桁数を指定
・ "*" を指定した場合、確保される桁数を値の方で指定することができる
4.精度
・小数点以下の桁数を指定(デフォルトでは6桁)
・指定する場合は桁数の前に.(ドット)を付ける
5.精度長変換子
・Pythonでは必要ないため無視される
※ -- 必須 --
6.変換型
変換型 | 説明 |
---|---|
"d" | 符号付き10進整数 |
"i" | 符号付き10進整数 |
"o" | 符号付き8進数 |
"u" | 旧式の型 -- 'd' と同じ |
"x" | 符号付き16進数(小文字) |
"X" | 符号付き16進数(大文字) |
"e" | 指数表記の浮動小数点数(小文字) |
"E" | 指数表記の浮動小数点数(大文字) |
"f" | 10進浮動小数点数 |
"F" | 10進浮動小数点数 |
"g" | 浮動小数点数。指数部が-4以上または精度以下の場合には小文字指数表記、それ以外の場合には10進表記 |
"G" | 浮動小数点数。指数部が-4以上または精度以下の場合には大文字指数表記、それ以外の場合には10進表記 |
"c" | 文字一文字(整数または一文字からなる文字列) |
"r" | 文字列(Python オブジェクトをrepr()で変換する) |
"s" | 文字列(Python オブジェクトをstr()で変換する) |
"a" | 文字列(Python オブジェクトをascii()で変換する) |
"%" | 引数を変換せず、返される文字列中では文字'%'になる |
-- 実行例 --
# -- マップキー使用例 --
>>> "10進数=%(dec)d, 16進数=%(hex)x" % {"hex":255, "dec":255}
'10進数=255, 16進数=ff'
# -- 進数変換例 --
>>> "10進数=%d, 8進数=%o, 16進数=%x" % (255, 255, 255)
'10進数=255, 8進数=377, 16進数=ff'
# プレフィックスを付けたい場合
>>> "10進数=%#d, 8進数=%#o, 16進数=%#x" % (255, 255, 255)
'10進数=255, 8進数=0o377, 16進数=0xff'
# -- 浮動小数型変換例 --
>>> "指数表記=%e, 固定小数点表記=%f, 固定小数点表記桁指定=%.2f, 浮動小数点数=%g" % (0.0752, 0.0752, 0.0752, 0.0752)
'指数表記=7.520000e-02, 固定小数点表記=0.075200, 固定小数点表記桁指定=0.08, 浮動小数点数=0.0752'
# -- 0埋め使用例 --
# 変換フラグ"0"を指定した場合指定フィールド幅(ここでは5)よりも数値の桁数が小さかった場合に"0"で埋める
# 左埋め
>>> "数値1=%05d" % 255
'数値1=00255'
# 右埋めは出来ない
>>> "数値1=%-05d" % 255
'数値1=255 '
# -- 空白埋め使用例 --
# 変換フラグ"-"を指定した場合指定フィールド幅(ここでは5)よりも数値の桁数が小さかった場合に空白で埋める
# 右寄せと左寄せ
>>> "数値1右寄せ=[%5d], 数値2左寄せ=[%-5d]" % (255, 255)
'数値1右寄せ=[ 255], 数値2左寄せ=[255 ]'
# -- スペース --
>>> "数値1=%d, 数値2スペース=% d, 数値マイナススペース=% d" % (255, 255, -255)
'数値1=255, 数値2スペース= 255, 数値マイナススペース=-255'
# ※マイナス表記をするとスペースが詰められるので以下のようにする
>>> "数値1=%d, 数値2スペース=% d, 数値マイナススペース=%5d" % (255, 255, -255)
'数値1=255, 数値2スペース= 255, 数値マイナススペース= -255'