元セブ島在住のエンジニアの僕「Tommy」が、プログラミング・英語・セブ事情を発信するブログ

Tommy's blog

【Python】print文でformatを使う方法【→プログラム初心者向け】

1月 30, 2020

プログラム女子
ときどきネットでみるけど、Pythonの「format」ってどうやって使うの?
formatは書式を整える役割があるよ。例えば、print文などで処理中の変数を表示したい場合、その変数がもともと何の型であったかを意識して、表示したい形に変換する必要があるよね。その表示したい型を統一したい場合に、formatは有効だよ。例をつかって説明するね。
Tommy

この記事で分かること

  • Pythonのformat関数の役割が分かる
  • format関数を使わないときと使う時のメリット・デメリットが分かる

Pythonのprint文でformatを使う方法概要

「format」関数は、書式を整える役割の関数で、表示したい変数を同じ書き方で統一できる役割があります。

この記事では、「format」関数を使って、プログラム中の変数をprint文で表示する手順を説明します。説明の順番としては、まずは、「format」関数を使わない例を説明して、使わない場合のデメリットを説明します。その後、同様の実行結果になる、「format」関数を使った場合のメリットを説明します。これによって、 「format」関数の使い方が理解することができます。

Pythonのprint文でformatを使う前提環境

Pythonの「format」関数を使って変数を表示する手順の前提環境は、下の記事で説明している私の環境と同じ環境で確認しています。

また、レンタルサーバなどのLinuxサーバを使っている場合は、下の記事でプログラミングする環境の作り方を説明しています。

もし、まだプログラムする環境ができていない方は、先にこちらの記事を読んで、プログラミングできる環境をつくることをおすすめします。

Pythonのprint文でformatを使うサンプルプログラム

ここでは、 「format」関数の使い方が分かるサンプルプログラムを説明します。説明の順番としては、まずは、「format」関数を使わない例を説明して、その後、同様の実行結果になる、format関数を使った例を説明します。

「format」関数の使い方は、次のような順番で説明します。

  1. format関数を使わない場合のサンプルプログラム
  2. format関数を使った場合のサンプルプログラム

1.format関数を使わない場合のサンプルプログラム

まず初めに、「format」関数を使わないサンプルプログラムを書いてみます。

format関数を使わない場合のサンプルプログラムの作成

整数の変数num(値は5)を表示するプログラムを考えます。初めは、numをstr()を文字列に変換し、直接表示するサンプルプログラムを書いてみました。

if __name__ == '__main__':

	num = 5
	print(str(num)+" is displayed on the screen.")

  1. 変数「num」を5に初期化する
  2. 「(変数num)is displayed on the screen.」という文字列を表示する

format関数を使わない場合の実行結果

実行結果は下記のようになりました。変数numの値5が表示されています。

$ python test.py
5 is displayed on the screen.

2.format関数を使った場合のサンプルプログラム

次に、「format」関数を使ったサンプルプログラムの作成してみます。

format関数を使った場合のサンプルプログラムの作成

先ほどと同様に、整数の変数num(値は5)を表示するプログラムを作成しますが、変数numの表示に「format」関数を使います。

if __name__ == '__main__':

	num = 5
	print("{} is displayed on the screen.".format(num))

  1. 変数「num」を5に初期化する
  2. 「(変数num)is displayed on the screen.」という文字列を表示する

「format」関数を使用するメリットは、前のサンプルプログラムでは、print文で表示する変数が整数であれば、整数を文字列に変換する為にstr()を使用しなければなりませんでした。「format」関数はもともと、書式を整える役割の関数なので、表示したい変数が何であろうと同じ書き方で統一できます。

また、どのような形式で表示したいかという設定を、この「format」関数に渡す引数で設定できるので、表示形式を統一する場合にも有効です。{}は、置換フィールドと呼ばれ、「format」関数メソッドの引数に置き換えられます。「format」関数の返り値は書式化された文字列strになるので、str()で変換しなくても済みます。理由は「format」関数が、文字列メソッドのstr.format()を使用していることになるからです。

format関数を使った場合の実行結果

実行結果は下記ようになりました。前回と同様にnumの値5が表示されていることが分かります。

$ python test.py
5 is displayed on the screen.