format 関数とは
文字列内に任意の文字列を読み込んで出力させることができます。
実行例
次のコードを実行します。
text = 'このブログの名前は{}です。'
print(text.format('MY TECH BLOG'))
出力結果は次のとおりです。
このブログの名前は MY TECH BLOG です。
解説
コードの記述方法は、次のとおりです。
'{}任意の文字列'.format('引数')
引数部分に任意の文字列を書いて、format 関数に渡すと、テキストとつなげてくれます。
引数部分の任意の文字列は、{}(波括弧)に入ります。引数部分には変数も使えます。
text = 'このブログの名前は{}です。'
name = 'MY TECH BLOG'
print(text.format(name))
複数の文字列を読み込む場合
テキストに複数の {} (波括弧)をつけて、引数間を ,(カンマ) で区切ります。
text = 'このブログの名前は{}です。1日{}PVが目標です。'
name = 'MY TECH BLOG'
pv = 1000
print(text.format(name, pv))
文字列を読み込む場所をインデックスで指定する場合
text = '''このブログの名前は{0}です。1日{1}PVが目標です。
現在1日{2}PVです。'''
name = 'MY TECH BLOG'
tpv = 1000
cpv = 100
print(text.format(name, tpv, cpv))
{} (波括弧)内のインデックス番号は、フォーマット関数の引数の位置を指し、左から 0,1,2 と数えます。
text.format(インデックス[0], インデックス[1], インデックス[2]))
文字列を読み込む場所をキーワードで指定する場合
text = '''このブログの名前は{blog_name}です。1日{target_pv}PVが目標です。
現在1日{current_pv}PVです。'''
name = 'MY TECH BLOG'
tpv = 1000
cpv = 100
print(text.format(blog_name = name, target_pv = tpv, current_pv = cpv))
{} (波括弧)内のキーワードと変数をつなぎます。ソースコードがわかりやすくなるため、読み込む数が多い場合などにお勧めです。
text.format(キーワード = 変数, キーワード = 変数, キーワード = 変数))
応用的な使い方
キーワード引数でリストを読み込み、読み込んだリストのインデックス番号で表示させることができます。
この方法を使えば、リストを for 文で回して一気に表示させることが可能です。
text = 'ブログ「{blog[0]}」の1日のPVは{blog[1]}です。'
blog_list = ['MY TECH BLOG', 100]
print(text.format(blog = blog_list))
参考:dot blog
以上