pythonのprint文のフォーマットの推移

pythonに関する資料を見ていると、print文のフォーマットにはいろいろなパターンがあり戸惑うことがあります。わかる範囲で整理します。

一番わかりずらいのは%sといった書式を使っているものです。この書式はPython2の時から使われています。

x = 'soba'
y = 500
print('%s : %syen' % (x, y))
soba : 500yen

これに対して、 Python 2.6からは新しい書式が追加されました。Python2.6はPython3と当時に開発されており、大幅な言語の再設計となる Python 3.0 移行への道筋を準備するものとされています。ここで、次のような表記方法が工夫されました。

print('{}: {:,}yen'.format(x, y))

ちなみにPython2.6は 2008 年 10 月 1 日にリリースされました。まさにリーマンショックの時です。
pythonドキュメント

Python3.6ではフォーマット済み文字列リテラルが導入されました。ここでは、次のような表現になります。

print(f'{x}: {y:,}yen')

詳しくは次の通りです。フォーマット済み文字列リテラル 

Python3.6がリリースされたのは2016年12月、米大統領選でトランプ氏が勝利した時です。

この記事を書いた人

目次
閉じる