( New ) 新連載スタート!2人の会話形式でPythonを学ぶ「週末Pythonゆる講座」はこちら ▶▶

【Python】文字列に変数で定義した値を埋め込む方法|format

文字列に値を埋め込むとは?

変数として設定している値を、文字列に埋め込む方法をご紹介しています

テキストを自由自在に変更したり、データ加工の結果によって値を変えることができます

Pythonでformatメソッドを利用したイメージ

変数を文字列に埋め込む方法

変数を文字列に埋め込むにはformatメソッドを利用します

また値を埋め込みたい場所を明示するために{ }を使いましょう

まずはxという変数に「Python」という文字列を代入します

x = 'Python'

続いて「私は○○を勉強しています」という文字列に対して、formatメソッドを適応させます

自由に変えたい部分「○○」には{ }を記述しましょう

そしてformatの引数には、事前に作ったxの変数を指定します

print('私は{}を勉強しています'.format(x))
print('私は{}を勉強しています'.format(x))

※最後にprintを使い文章を返す設定にしましょう


元のテキスト部分「私は○○を勉強しています」 も変数化しておくこともできます

text = '私は{}を勉強しています'
x = 'Python'
print(text.format(x))
Pythonのformatメソッドを利用したイメージ

3つのformatの使い方

formatメソッドでは{ }の部分に値を埋め込みますが、{ }置換フィールドと呼びます

置換フィールドの指定方法には3種類あり、複数の変数を扱うことも可能です

① { } 置換フィールドのみ

変数を事前に用意しておき、それを{ }の中に埋め込む設定をします

formatの引数には変数を記述します

{ }の中に変数が自動的に埋め込まれます

x = 'Python'
print('私は{}を勉強しています'.format(x))

2つ以上の変数を埋め込む場合は、引数を2つ設定することで値が順番に格納されます

x = 'Python'
y = 3
print('私は{}を勉強して{}日です'.format(x,y))

② {1} フィールド番号を指定

複数の値を埋め込む場合は、明確に埋め込む場所を指定しましょう

{ }の中に番号を指定することで、引数の順番を指定することができます

x = 'Python'
y = 3
print('私は{0}を勉強して{1}日です'.format(x,y))

「0」から始まり、引数の順番に値が埋め込まれます

③ {text} フィールド名を指定

フィールド番号と同様に、埋め込む場所を明確に指定するために、フィールド名を利用することもできます

{ }の中に特定の文字列を記載し、formatの引数の中で「どの変数を埋め込むか」をイコールで指定します

x = 'Python'
y = 3
print('私は{x}を勉強して{y}日です'.format(x=x,y=y))

おすすめの記述方法

指定方法に関しては③のフィールド名を指定することをおすすめします

コードを複雑に記述していくと、どの文字列にどの変数が埋め込まれるか分からなくなるためです

分かりやすいように変数名も工夫すると良いでしょう

programming = 'Python'
days = 3
print('私は{programming}を勉強して{days}日です'.format(programming=programming,days=days))

実例:今日の日付を値に埋め込む

最後に今日の日付を自動的に値に埋め込む方法をご紹介します

datetimetodayで今日の日付を取得します

日付が変わっても、当日の日付を自動的に取得することができます

from datetime import datetime, date
today = date.today().strftime('%Y-%m-%d')
print(today)

そしてこの変数をformatメソッドを利用して、文字列に埋め込みます

text = '最終更新日は{today}です'
print(text.format(today=today))

まとめ

今回はformatメソッドを利用して、変数の値を文字列に埋め込む方法をご紹介してきました

応用の利く記述方法なのでぜひ使ってみてください

お気に入り登録お願いします

コメントを残す

メールアドレスが公開されることはありません。