概要
- Python で文字列に変数を埋め込む方法 (変数展開) が複数あるのでサンプルコードを書く
f-string
バージョン 3.6 で追加.
フォーマット済み文字列リテラル( formatted string literal )または f-string は、接頭辞 'f' または 'F' の付いた文字列リテラルです。これらの文字列には、波括弧 {} で区切られた式である置換フィールドを含めることができます。他の文字列リテラルの場合は内容が常に一定で変わることが無いのに対して、フォーマット済み文字列リテラルは実行時に式として評価されます。
サンプルコード。
foo = 'Hello'
bar = 'world'
print(f'Message: {foo}, {bar}')
string.Template
string --- 一般的な文字列操作 — Python 3.7.4 ドキュメント
テンプレート文字列は $ に基づいた置換をサポート
サンプルコード。
from string import Template
foo = 'Hello'
bar = 'world'
t = Template('Message: ${first}, ${second}')
print(t.substitute(first=foo, second=bar))
str.format
文字列の書式化操作を行います。このメソッドを呼び出す文字列は通常の文字、または、 {} で区切られた置換フィールドを含みます。それぞれの置換フィールドは位置引数のインデックスナンバー、または、キーワード引数の名前を含みます。返り値は、それぞれの置換フィールドが対応する引数の文字列値で置換された文字列のコピーです。
サンプルコード。
foo = 'Hello'
bar = 'world'
print('Message: {}, {}'.format(foo, bar))
% 演算子
文字列オブジェクトには固有の操作: % 演算子 (モジュロ) があります。この演算子は文字列 書式化 または 補間 演算子とも呼ばれます。format % values (format は文字列) とすると、format 中の % 変換指定は values 中のゼロ個またはそれ以上の要素で置換されます。この動作は C 言語における sprintf() に似ています。
サンプルコード。
foo = 'Hello'
bar = 'world'
print('Message: %s, %s' % (foo, bar))