【Python】format()メソッドで文字列の表示をきれいに生成


メソッドでは「print()関数」で出力される複数の文字列でスペース区切りをせず、文字列を連結させるメソッドがあります。

今回は、format()メソッドについて紹介します。


【Python】format()メソッドで文字列の生成をする

format()メソッドは文字列の表示に便利です。
これまでは複数の値を一度に表示したい場合は以下のように表示していました。

print(test, 'に20を足して3をかけると', number, 'です。')

print()関数で複数の文字列を表示使用しようとする際、文字列の間に半角スペースが入ります。
そこで、半角スペースなしで文字列を連結する「format()メソッド」を使うと表示がきれいになります。

format()メソッドは文字列で作られた雛形(テンプレート)に、任意の値を差し込んで文字列を生成します。

format()メソッドの使い方

format()メソッドを使う前にはまず、”(シングルクォーテーション)を使った文字列の雛形を作成します。
以下のプログラムでは「text_template」代入された文字列が雛形になります。

この雛形の中にある{}(波カッコ)は任意の値が入ります。
この任意の値は、formatの丸カッコ内にカンマ区切りで指定しておきます。

name = 'げんひろき'                 ①
age = '25'                     ②
text_template = '名前は{}です。年齢は{}です。'   ③
text = text_template.format(name, age)     ④
print(text)
名前はげんひろきです。年齢は25です。           ⑤
  1. nameを宣言
  2. ageを宣言
  3. 文字列の雛形を用意
  4. format()で雛形に変数の値を入れて1つの文字列に連結
  5. スペースで区切られることなく表示される


format()メソッドとprint()関数の組み合わせ

format()メソッドを使って文字列を作成し、print()関数で出力するプログラムは、まとめて作成することが可能です。

以下のプログラムでは、雛形のどの部分にどの値が入るかわかりやすくなります。

name = 'げんひろき'
age = '25'
print('名前は{}です。年齢は{}です。'.format(name, age))   ①
名前はげんひろきです。年齢は25です。
  1. format()メソッドで生成した文字列をprint()関数の引数にして出力

出力メッセージをformat()メソッドで生成する

以下ではプログラムの出力部分をformat()メソッドを使用した形式に書き換えて表示した例です。
テンプレートの文字列を定義し、「month_name」を引数にして文字列を生成してprint()関数で出力します。

test_str = input('数字を入力: ')
数字を入力: 2
test_int = int(test_str)
number = (test_int * 5) // 2
print(number)
5
month_list = ('1月', '2月', '3月', '4月', '5月', '6月')
month_name = month_list[number]
print('表示される月は{}です。'.format(month_name))
表示される月は6月です。

format()メソッドを使用するとプログラムで生成する文字列の意味がわかりやすくなります。
初めはな色々と混乱するところがありますが、使いこなすとかなり便利です。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!