概略
- python3から導入
- フォーマット
- 標準入出力の際、フォーマットに使われる。
文章内に変数を組み込む
「'」「"」どちらでもOKs = "りんご" d = "みかん" print(f'{s}と{d}も、おいしい')
表示イメージ
りんごとみかんも、おいしい
変数=桁数
inte = 123 digit = 6 flot = 123.456789 print(f'{inte:0{digit}}') print(f'{inte:A={digit}}') print(f'{flot:{digit}g}')
表示イメージ
000123 AAA123 123.457
基本 書式
f'{ 変数 [!変換オプション]:書式指定文字列 }'
※[]内省略可。変換オプション
- s:str()・・・文字列に変換
※「f+文字列」は、自動で行うので、必要なし。
- r:repr()・・・元のオブジェクトの内容を含んで文字列に変換。
※デバッグ用。eval()で元オブジェクトに戻せる。
- a:ascii()・・・reper()後、非ascii文字のみ{\x,\u,\U}で返される。=python2のrepr()と同一。
数字・文字 表記方法
寄せ+文字埋め
# 10ケタ strg = "あいうえお" strgA = "ABCD" print(f'右寄せ(全角) :{strg:*<10}') print(f'右寄せ :{strgA:*<10}') print(f'左寄せ(全角) :{strg:*>10}') print(f'左寄せ :{strgA:*>10}') print(f'両端寄せ(全角):{strg:*^10}') print(f'両端寄せ :{strgA:*^10}')
表示イメージ
右寄せ(全角) :あいうえお***** 右寄せ :ABCD****** 左寄せ(全角) :*****あいうえお 左寄せ :******ABCD 両端寄せ(全角):**あいうえお*** 両端寄せ :***ABCD***
数字 表記方法
桁区切り
inte = 1234567890 print(f'桁区切り:{inte:,}') print(f'桁区切り:{inte:_}')
表示イメージ
桁区切り:1,234,567,890 桁区切り:1_234_567_890
ゼロ埋め
0+表示桁数
inte = 12345 print(f'ゼロ埋め:{inte:010}')
表示イメージ
ゼロ埋め:0000012345
符号
plus = 22222 minus = -77777 print(f'符号(無) :{plus}') print(f'符号(無) :{minus}') # デフォルト print(f'符号(ー) :{plus:-}') print(f'符号(ー) :{minus:-}') print(f'符号(+) :{plus:+}') print(f'符号(+) :{minus:+}') print(f'符号(空白):{plus: }') #空白1文字+数値 print(f'符号(空白):{minus: }')
表示イメージ
符号(無) :22222 符号(無) :-77777 符号(ー) :22222 符号(ー) :-77777 符号(+) :+22222 符号(+) :-77777 符号(空白): 22222 符号(空白):-77777
先頭符号+文字埋め+数字
変数:文字=有効桁数
plus = 222 minus = -777 print(f'基本:{plus:10}') print(f'基本:{minus:10}') print() print(f'符号(無)(A埋め):{plus:A=10}') print(f'符号(無)(A埋め):{minus:A=10}') print() print(f'符号(ー)(A埋め):{plus:A=-10}') print(f'符号(ー)(A埋め):{minus:A=-10}') print() print(f'符号(+)(A埋め):{plus:A=+10}') print(f'符号(+)(A埋め):{minus:A=+10}') print() print(f'符号(ー)(ゼロ埋め) :{plus:0=-010}') print(f'符号(ー)(ゼロ埋め)(桁前に0):{plus:-010}') print(f'符号(ー)(ゼロ埋め) :{minus:0=-010}') print(f'符号(ー)(ゼロ埋め)(桁前に0):{minus:-010}') print() print(f'符号(+) :{plus:0=+10}') print(f'符号(+)(桁前に0):{plus:+010}') print(f'符号(+) :{minus:0=+10}') print(f'符号(+)(桁前に0):{minus:+010}')
表示イメージ
基本: 222 基本: -777 符号(無)(A埋め):AAAAAAA222 符号(無)(A埋め):-AAAAAA777 符号(ー)(A埋め):AAAAAAA222 符号(ー)(A埋め):-AAAAAA777 符号(+)(A埋め):+AAAAAA222 符号(+)(A埋め):-AAAAAA777 符号(ー)(ゼロ埋め) :0000000222 符号(ー)(ゼロ埋め)(桁前に0):0000000222 符号(ー)(ゼロ埋め) :-000000777 符号(ー)(ゼロ埋め)(桁前に0):-000000777 符号(+) :+000000222 符号(+)(桁前に0):+000000222 符号(+) :-000000777 符号(+)(桁前に0):-000000777
固定小数点表記
小数桁数デフォルトで6桁。
flot = 0.00123456789 print(f'基本:{flot:}') print(f'固定小数点表記(f):{flot:f}') print(f'固定小数点表記(F):{flot:F}')
表示イメージ
基本:0.00123456789 固定小数点表記(f):0.001235 固定小数点表記(F):0.001235
小数桁数
flot = 123.456789 print(f'小数桁数:{flot:.3f}')
表示イメージ
小数桁数:123.457
有効桁数
flot = 123.456789 print(f'有効桁数:{flot:.5g}')
表示イメージ
有効桁数:123.46
指数
flot = 123.456789 print(f'指数(e):{flot:.5e}') print(f'指数(E):{flot:.5E}')
表示イメージ
指数(e):1.23457e+02 指数(E):1.23457E+02
百分率(%)
小数の有効桁数2+% 表示
flot = 0.123456 print(f'百分率:{flot:.2%}')
表示イメージ
百分率:12.35%
int型
進数
2進数
inte = 255 print(f'2進数(b):{inte:b}') print(f'2進数・区切り(_b):{inte:_b}') print(f'2進数・接頭語(#b):{inte:#b}') print(f'2進数・区切り・接頭語(#_b):{inte:#_b}') print(f'2進数・ゼロ埋め(012b):{inte:012b}') print(f'2進数・ゼロ埋め区切り(014_b):{inte:014_b}') #区切り分の桁を追加 print(f'2進数・接頭語・ゼロ埋め(#012b):{inte:#012b}') print(f'2進数・区切り・接頭語・ゼロ埋め(#014_b):{inte:#014_b}') #区切り分の桁を追加
表示イメージ
2進数(b):11111111 2進数・区切り(_b):1111_1111 2進数・接頭語(#b):0b11111111 2進数・区切り・接頭語(#_b):0b1111_1111 2進数・ゼロ埋め(012b):000011111111 2進数・ゼロ埋め区切り(014_b):0000_1111_1111 2進数・接頭語・ゼロ埋め(#012b):0b0011111111 2進数・区切り・接頭語・ゼロ埋め(#014_b):0b00_1111_1111
8進数
inte = 65535 print(f'8進数(o):{inte:o}') print(f'8進数・区切り(_o):{inte:_o}') print(f'8進数・接頭語(#o):{inte:#o}') print(f'8進数・区切り・接頭語(#_o):{inte:#_o}') print(f'8進数・ゼロ埋め(012o):{inte:012o}') print(f'8進数・ゼロ埋め区切り(014_o):{inte:014_o}') #区切り分の桁を追加 print(f'8進数・接頭語・ゼロ埋め(#012o):{inte:#012o}') print(f'8進数・区切り・接頭語・ゼロ埋め(#014_o):{inte:#014_o}') #区切り分の桁を追加
表示イメージ
8進数(o):177777 8進数・区切り(_o):17_7777 8進数・接頭語(#o):0o177777 8進数・区切り・接頭語(#_o):0o17_7777 8進数・ゼロ埋め(012o):000000177777 8進数・ゼロ埋め区切り(014_o):0000_0017_7777 8進数・接頭語・ゼロ埋め(#012o):0o0000177777 8進数・区切り・接頭語・ゼロ埋め(#014_o):0o00_0017_7777
10進数
inte = 65535 print(f'10進数(d):{inte:d}') print(f'10進数・区切り(_d):{inte:_d}') print(f'10進数・接頭語(#d):{inte:#d}') print(f'10進数・区切り・接頭語(#_d):{inte:#_d}') print(f'10進数・ゼロ埋め(012d):{inte:012d}') print(f'10進数・ゼロ埋め区切り(014_d):{inte:014_d}') #区切り分の桁を追加 print(f'10進数・接頭語・ゼロ埋め(#012d):{inte:#012d}') print(f'10進数・区切り・接頭語・ゼロ埋め(#014_d):{inte:#014_d}') #区切り分の桁を追加
表示イメージ
10進数(d):65535 10進数・区切り(_d):65_535 10進数・接頭語(#d):65535 10進数・区切り・接頭語(#_d):65_535 10進数・ゼロ埋め(012d):000000065535 10進数・ゼロ埋め区切り(014_d):00_000_065_535 10進数・接頭語・ゼロ埋め(#012d):000000065535 10進数・区切り・接頭語・ゼロ埋め(#014_d):00_000_065_535
16進数 英小文字
inte = 65535 print(f'16進数(x):{inte:x}') print(f'16進数・区切り(_x):{inte:_x}') print(f'16進数・接頭語(#x):{inte:#x}') print(f'16進数・区切り・接頭語(#_x):{inte:#_x}') print(f'16進数・ゼロ埋め(012x):{inte:012x}') print(f'16進数・ゼロ埋め区切り(014_x):{inte:014_x}') #区切り分の桁を追加 print(f'16進数・接頭語・ゼロ埋め(#012x):{inte:#012x}') print(f'16進数・区切り・接頭語・ゼロ埋め(#014_x):{inte:#014_x}') #区切り分の桁を追加
表示イメージ
16進数(x):ffff 16進数・区切り(_x):ffff 16進数・接頭語(#x):0xffff 16進数・区切り・接頭語(#_x):0xffff 16進数・ゼロ埋め(012x):00000000ffff 16進数・ゼロ埋め区切り(014_x):0000_0000_ffff 16進数・接頭語・ゼロ埋め(#012x):0x000000ffff 16進数・区切り・接頭語・ゼロ埋め(#014_x):0x00_0000_ffff
16進数 英大文字
inte = 65535 print(f'16進数(X):{inte:X}') print(f'16進数・区切り(_X):{inte:_X}') print(f'16進数・接頭語(#X):{inte:#X}') print(f'16進数・区切り・接頭語(#_X):{inte:#014_X}') print(f'16進数・ゼロ埋め(012X):{inte:012X}') print(f'16進数・ゼロ埋め区切り(014_X):{inte:014_X}') #区切り分の桁を追加 print(f'16進数・接頭語・ゼロ埋め(#012X):{inte:#012X}') print(f'16進数・区切り・接頭語・ゼロ埋め(#014_X):{inte:#014_X}') #区切り分の桁を追加
表示イメージ
16進数(X):FFFF 16進数・区切り(_X):FFFF 16進数・接頭語(#X):0XFFFF 16進数・区切り・接頭語(#_X):0X00_0000_FFFF 16進数・ゼロ埋め(012X):00000000FFFF 16進数・ゼロ埋め区切り(014_X):0000_0000_FFFF 16進数・接頭語・ゼロ埋め(#012X):0X000000FFFF 16進数・区切り・接頭語・ゼロ埋め(#014_X):0X00_0000_FFFF