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月、米大統領選でトランプ氏が勝利した時です。