はじめに
printやテキストボックスへの出力時に活躍するf文字列についてまとめる。
f文字列とは
Python3.6から対応された文法。文字列内に変数を埋め込む場合、{変数}
でくくれば良く、format()
よりスマートに記述が可能。
タイプ | コード |
---|---|
f文字列 | a = 100 print(f'# これは{a}円です。') # これは100円です。 |
format() | a = 100 print('# これは{}円です。'.format(a)) # これは100円です。 |
f文字列例
format()
ではできない(頑張ればできるのかもしれないが。)、変数名出力や、計算式を埋め込むこともできるのが便利。
fstring_test.py
#基本
a = 1000
b = 0.12345
print(f'# int型:{a} float型:{b}')
# int型:1000 float型:0.12345
#桁区切り(3桁区切り)
a = 1000
print(f'# int型:{a:,}')
# int型:1,000
#0埋め(8桁右詰め,8桁0埋め)
a = 1000
print(f'# int型:{a:8} int型:{a:08}')
# int型: 1000 int型:00001000
#桁指定(小数点3桁四捨五入)
a = 0.12345
print(f'# float型:{a:.3}')
# float型:0.123
#パーセント(小数点2桁%)
a = 0.12
print(f'# パーセント:{a:.2%}')
# パーセント:12.00%
#進数変換(16進数,2進数)
a = 100
b = 12345678
print(f'# 16進数:0x{a:x}, 0b{a:b}')
print(f'# 16進数:0x{b:08x}, 0b{b:032_b}')
# 16進数:0x64, 0b1100100
# 16進数:0x00bc614e, 0b00_1011_1100_0110_0001_0100_1110
#符号(+付き,+をスペース)
a=100
b=-100
print(f'# 符号:{a:+} {b:+}')
print(f'# 符号:{a: } {b: }')
# 符号:+100 -100
# 符号: 100 -100
#変数名出力
a = 1000
print(f'# 変数名:{a=}')
# 変数名:a=1000
#式計算(整数変換)
a = 100.123456
print(f'# 式計算:{int(a)}')
# 式計算:100
#辞書型(""注意)
d={'a':100,'b':0.123456}
print(f'# 辞書型:{d["a"]},{d["b"]}')
# 辞書型:100,0.123456
#いろいろ組み合わせ
d={'a':100,'b':0.123456}
print(f'#組み合わせ:{d["a"]=:04X}')
print(f'#組み合わせ:{d["b"]=:+.2%}')
#組み合わせ:d["a"]=0064
#組み合わせ:d["b"]=+12.35%
# 型や桁指定自体もフォーマット文字にできる。可変にできる。
d={'a':100,'b':0.123456}
format_type1='04X'
format_type2='+.2%'
print(f'#組み合わせ:{d["a"]=:{format_type1}}')
print(f'#組み合わせ:{d["b"]=:{format_type2}}')
#組み合わせ:d["a"]=0064
#組み合わせ:d["b"]=+12.35%
以上