LoginSignup
109
64

More than 3 years have passed since last update.

Python で文字列に変数を埋め込む方法あれこれ

Posted at

概要

  • Python で文字列に変数を埋め込む方法 (変数展開) が複数あるのでサンプルコードを書く

f-string

2. 字句解析 — Python 3.7.4 ドキュメント

バージョン 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

組み込み型 — Python 3.7.4 ドキュメント

文字列の書式化操作を行います。このメソッドを呼び出す文字列は通常の文字、または、 {} で区切られた置換フィールドを含みます。それぞれの置換フィールドは位置引数のインデックスナンバー、または、キーワード引数の名前を含みます。返り値は、それぞれの置換フィールドが対応する引数の文字列値で置換された文字列のコピーです。

サンプルコード。

foo = 'Hello'
bar = 'world'
print('Message: {}, {}'.format(foo, bar))

% 演算子

組み込み型 — Python 3.7.4 ドキュメント

文字列オブジェクトには固有の操作: % 演算子 (モジュロ) があります。この演算子は文字列 書式化 または 補間 演算子とも呼ばれます。format % values (format は文字列) とすると、format 中の % 変換指定は values 中のゼロ個またはそれ以上の要素で置換されます。この動作は C 言語における sprintf() に似ています。

サンプルコード。

foo = 'Hello'
bar = 'world'
print('Message: %s, %s' % (foo, bar))
109
64
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
109
64