Skip to content

f文字列#

参考#

波括弧の扱い#

f文字列中に波括弧{}を記述したい場合は{{, }}のように2回続けて書く。

n = 123

print(f'{{}}-{n}-{{{n}}}')
# {}-123-{123}

f文字列のネスト#

f文字列でも置換フィールド内に置換フィールドを書くことができる。書式指定文字列の数値を変数で指定したりできる。

n = 123
i = 8

print('{n:0{i}}'.format(n=n, i=i))
# 00000123

print(f'{n:0{i}}')
# 00000123

raw文字列との組み合わせ#

文字列リテラルの先頭にrとfを両方つけることでraw文字列かつf文字列として処理される。rとfの順番はどちらでもよい。大文字でもOK。 raw文字列でもそうでなくても置換フィールド内ではバックスラッシュは使えない事に注意

x = 'XXX'
y = 'YYY'

print(f'{x}\t{y}')
# XXX   YYY

print(rf'{x}\t{y}')
# XXX\tYYY

print(FR'{x}\t{y}')
# XXX\tYYY

書式指定#

  • 置換フィールド{}でコロン:のあとに書式指定文字列を指定することで様々な書式を指定可能

文字寄せ#

  • コロンのすぐあとを空白にしておくと空白で埋められる
word = 'TEST'

print(f'right : {word: >10}')
print(f'center: {word: ^10}')
print(f'left  : {word: <10}')
# right :       TEST
# center:    TEST   
# left  : TEST 

ゼロ埋め#

数字をゼロ埋めするには:のあとに続けて0と桁数を指定

number = 12345

print(f'{number:010}')
# 0000012345

桁区切り#

: のあとにカンマを指定することで3桁で区切る

number = 1234567890

print(f'{number:,}')
# 1,234,567,890

小数点以下の扱い#

  • :のあとに.桁数fのように記述することで小数点以下の有効桁数を指定できる(切り上げ)
  • :のあとに.桁数gのように記述することで小数点以下の有効桁数を指定できる(切り捨て)
number = 12.3456

print(f'{number:.2f}')
print(f'{number:.3g}')
# 12.35
# 12.3

パーセント表記#

f = 0.123

print(f'percent: {f:.2%}')
# percent: 12.30%