Python 3.8 の概要 (その5) - デバッグ用 f文字列フォーマット
Python3.8の新機能で、これ一番好きかも。このためだけにPython3.8必須にしてもいい。
通常、 f文字列 に変数名や式を指定すると、その値が文字列に埋め込まれます。
>>> foo, bar = 10, 20 >>> print(f'value is {foo+bar}') value is 30
便利な機能ですが、デバッグ用にデータを出力するときには、ちょっと面倒です。たとえば foo
と bar
の値を確認するときは、確認したい変数名のテキストと、表示したい式を別々に書く必要があります。
>>> print(f'foo={foo} bar={bar} foo+bar={foo+bar}') foo=10 bar=20 foo+bar=30
そこで、f文字列に出力指定方法が追加され、出力したい式に続けて =
を指定すると、その式と式の値の両方が文字列に埋め込まれるようになりました。
>>> print(f'{foo=} {bar=} {foo+bar=}') foo=10 bar=20 foo+bar=30
出力フォーマットを指定する場合は、=
に続けて記述します。
>>> print(f'{foo=:0.3f} {bar=:.1e} {foo+bar=:04d}') foo=10.000 bar=2.0e+01 foo+bar=0030