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を用いることで数値を文字列中に代入して出力する方法について解説しました。

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

コラム

コスパとタイパ、両方結果的に良くなる良くなる学び方とは?

「スクールは高いし時間も縛られて効率が悪い」と考える方は多いと思います。
もちろん、時間も費用もかかることは間違いありません。
ただ 結果的に無駄な学びにお金も時間もかける方がリスクが高いという考えもあります。

コスパ・タイパ最適化の参考として、 テックアカデミー卒業生がスクールを選んだ理由 をご紹介します。

  • ・困ったときに、質問や相談できる相手がいるため挫折しなかった
  • ・プロとして必要なスキルのみを深く学べたので無駄がなかった
  • ・副業案件の提供と納品までのサポートがあったので目的を達成できた

安価・短期間で広く浅く学んでも意味がありません。 本当に自分の目的が達成できるか、それが重要です。
自分にどのスキルや学び方が合っているか、どんな学習方法かなど、お気軽に 無料相談 に参加してみませんか?

カウンセラー・現役のプロへ、何でも気軽に無料相談可能。 30分か60分お好きな時間が選べて、かつ3回まで すべて無料で ご利用できます。
無理な勧誘は一切ない ので、お気軽にご参加ください。

今なら相談した方限定の割引・参加特典付き! 無料相談はこちら

監修してくれたメンター

メンターSさん

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

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

 

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

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

初心者・未経験でもできる。まずはテックアカデミーに相談しよう

プログラミングを独学で学習していて、このように感じた経験はないでしょうか?

  • ・調べてもほしい情報が見つからない
  • ・独学のスキルが実際の業務で通用するのか不安
  • ・目標への学習プランがわからず、迷子になりそう

テックアカデミーでは、このような 学習に不安を抱えている方へ、マンツーマンで相談できる機会を無料で提供 しています。
30分間、オンラインでどんなことでも質問し放題です。

「受けてよかった」と感じていただけるよう カウンセラーやエンジニア・デザイナー があなたの相談に真摯に向き合います。

「自分に合っているか診断してほしい」
「漠然としているが話を聞いてみたい」

こんなささいな悩みでも大丈夫です。

無理な勧誘は一切ありません ので、まずはお気軽にご参加ください。
※体験用のカリキュラムも無料で配布いたします。(1週間限定)

今なら参加者限定の割引特典付き! 無料相談を予約する