Python f文字列・文字列フォーマット

f文字列 (f-strings) について説明します。Python3.6から導入されました。変数を文字列に埋め込むときに、使います。


f 文字列の使い方

  • 文字列を定義する先頭の " (ダブルクオート), ' (シングルクオート)の前に f をつけて、埋め込みたい変数を {} (括弧)で囲みます。
x = 9999
print(f"xは{x}")

>> xは9999

  • fF と大文字で書くこともできます。また変数を複数使うこともできます。
item_name = 'バナナ'
x = 300
y = -90
print(F"{item_name}の値段は{x+y}円")

>> バナナの値段は210円

format メソッドの使い方

文字列のメソッド format も同様に変数を文字列に埋め込むことができます。文字列内の変数を埋め込む場所に {} (括弧) を記載し、formatメソッドの引数に変数を指定します。

item_name = 'バナナ'
x = 300
print("{}の値段は{}円".format(item_name, x))

>> バナナの値段は300円

書式指定

f-文字列もformatメソッドも書式を、以下のように指定することができます。

 説明書き方
ゼロ埋め0[文字数]f"{x:08}", "{:08}".format(x) (8文字数でゼロ埋め)
金額カンマ区切り:,f"{x:,}", "{:,}".format(x)
左寄せ:<[文字数]f"{x:<10}", "{:<10}".format(x) (10文字数で左寄せ)
中央寄せ:^[文字数]f"{x:^10}", "{:^10}".format(x) (10文字数で中央せ)
右寄せ:>[文字数]f"{x:>10}", "{:>10}".format(x) (10文字数で右寄せ)
小数点以下の桁数:.[桁数]ff"{x:.5f}", "{:.5f}".format(x) (小数点以下5桁)
有効数字の桁数:.[桁数]gf"{x:.5g}", "{:.5g}".format(x) (有効数字5桁)
指数の桁数指定:.[指数桁数]ef"{x:.5e}", "{:.5e}".format(x) (指数5桁)

f文字列のほうが可読性は高い。

x = 54.1
print(f"{x:010}") # 文字数10でゼロ埋め
>> '00000054.1'


x = 100000000
print(f"{x:,}") # 金額カンマ区切り
>> '100,000,000'


x = 12345
print(f"{x:<10}") # 10桁左寄せ
>> '12345     '


x = 12345
print(f"{x:^10}") # 10桁中央寄せ
>> '  12345   '


x = 12345
print(f"{x:>10}") # 10桁右寄せ
>> '     12345'


x = 0.2
print(f"{x:.5f}") # 小数点以下5桁
>> '0.20000'


y = 1.1234567
print(f"{y:.5f}") # 小数点以下5桁
>> '1.12346'


x = 1.1234567
print(f"{x:.5g}") # 有効数字5桁
>> '1.1235'


x = 0.001234567
print(f"{x:.5e}") # 指数5桁
>> '1.23457e-03'


x = 1234.56789
print(f"{x:.5e}") # 指数5桁
>> '1.23457e+03'

関連記事

このエントリーをはてなブックマークに追加