オーダーメイドコース
icon
icon

Pythonにおける%dを用いたprint関数の利用方法について現役エンジニアが解説【初心者向け】

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonにおける%dを用いたprint関数の利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonにおける%dを用いたprint関数の利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
この記事では、Pythonにおける標準出力に文字列を表示するためのprintで書式を指定する%dの使い方について解説します。

 

print()とは

まずは、print関数について復習します。

print関数は引数で受け取った文字列を「標準出力」と呼ばれる場所に表示するための関数です。「標準出力」というのはかんたんに言うと、「何も指定していない場合に表示される画面」のことです。

print('文字列')

とすることで文字列を表示することができます。

 

%を用いたprint方式とは

print関数は%を用いることで書式を設定することもできます。

例えば、文字列を数値を一緒に表示したい場合は、

print('文字列' + str(数値))

などのようにして、数値を文字列に変換して+演算子で結合させてから表示できます。しかし、これだと都度演算子を使う必要があったりして記述するのが少し面倒になってしまいます。

しかし、%を用いるとより簡単に記述できます。

具体的には、文字列の中の数値を入れたい部分に%dを使い、

print('適当な文字列に%dを入れたもの' % %dの部分に代入したい数値)

というようにするだけ良いです。

例えば、

print("私は%d歳です" % 25)

のようにすると、

私は25歳です。

と出力されます。

複数の数値を用いる場合も

print("私の誕生日は%d月%d日です。" %(8, 25))

のようにし%dを複数用いて、代入したい数値をカンマで区切って括弧でくくって指定することで、

私の誕生日は8月25日です。

のように複数の数値を出力できます。

%dを用いずに同じ処理を行おうとすると、

print("私の誕生日は" + str(8) + "月" + str(25) + "日です。")

のようにいちいち文字列を分割し、数値を文字列に変換し、それらを+演算子で結合しなければなりません。

それに対して%dを使うとかんたんに複数の数値を出力できるのでこちらを使うことをオススメします。

 

[PR] プログラミングで挫折しない学習方法を動画で公開中

print()の%dを用いて数値を出力してみよう

それでは、実際にprint関数と%dを用いて文字列と数値を出力してみましょう。

# %dを用いた方法
>>> print("現在は%d年%d月%d日です。" % (2020, 8, 7))
現在は2020年8月7日です。

# +演算子を用いた方法
>>> print("現在は" + str(2020) + "年" + str(8) + "月" + str(7) + "日です。")
現在は2020年8月7日です。

+演算子を使うよりも%dを用いた方法の方コードが短くなっているのがわかります。

 

まとめ

この記事ではprint関数において%dを用いることで数値を文字列中に代入して出力する方法について解説しました。

コードがシンプルになって、コードの修正や変更も用意になるので積極に敵に使っていってください。

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。
TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間でPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。

挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。