Pythonで文字列や数値を表示するためには、print()関数を使います。
Pythonでプログラムを書いた後、その処理の結果を出力する場面はたくさんあります。
本記事では、Pythonでのprint()関数を用いた文字列・数値の出力の仕方、print()関数の応用を解説します。
後半は初心者にとってはやや難しい内容になりますが、print()関数は様々な場面でよく使われるので、一つ一つ理解していきましょう!
AIやデータサイエンスを学びたくてPythonを学び始めたけど
「独学ではやっぱり限界がある」
と不安を感じた方にオススメしたいのが、Aidemy Premium Plan。
AIに関する幅広い種類の講座や徹底したコーチング指導が特徴です!
実務を見据えてPythonをがっつり学習していきたい方は、まずは無料の「オンライン相談」に参加してみてください。
また、Aidemy Premium Planのメリットやデメリットなどについては、以下の記事も参考にしてください。
Aidemy(アイデミー)の評判と口コミまとめ!受講したほうがいい理由を紹介
Pythonのprint()関数の基本的な使い方
文字列・数値をそのまま出力する方法は非常にシンプルです。
数値を出力する場合: print(数値)
文字列と数値の違いは、文字列は「’」で囲うが、数値では囲まないということです。
また、変数をあらかじめ定義していた場合は、その変数をprint()関数の()内に記述することで、使用できます。
print('I have an apple') # I have an appleを出力 print(27) # 27を出力 s = 'I love you' # 変数を定義 print(s) # I love youを出力
リストや辞書は、そのまま出力されます。
print([166, 171, 176, 168, 172]) # [166, 171, 176, 168, 172]を出力 print({'Iwai': 1, 'Komiya': 2, 'Yamasato': 3}) # {'Iwai': 1, 'Komiya': 2, 'Yamasato': 3}を出力
Pythonのprint()関数出力の改行を変更する(引数end)
さて、以下のようにprint()関数を記述すると、全て改行されて出力されます。
print('I am Yuki.') print('I like anime.') print('I am good at drawing.') # I am Yuki. # I like anime. # I am good at drawing.
print()の出力は、文末で改行するようデフォルトで設定されているためです。
文末の改行を別の文字に変更するには、endという引数を渡します。
実際に、改行でなく「|||」で次のprint()関数との区切りをしてみます。
print('I am Yuki.', end ='|||') print('I like anime.', end ='|||') print('I am good at drawing.') # I am Yuki.|||I like anime.|||I am good at drawing.
空白で区切りたいときは「end =’ ‘」を渡します。
print('I am Yuki.', end =' ') print('I like anime.', end =' ') print('I am good at drawing.') # I am Yuki. I like anime. I am good at drawing.
Pythonのprint()関数で複数の文字列・数値を出力する(引数sep)
print()関数で複数の文字列・数値を出力する場合は、()内を「,」で区切ります。
print('Red', 'Green', 'Blue') # Red Green Blue
区切り文字は、デフォルトでスペースとなっています。
この区切り文字を変えたい場合は、sepを引数として渡します。
ここでは、「, 」で区切りたいと思います。
print('Red', 'Green', 'Blue', sep = ', ') # Red, Green, Blue
また、改行したい場合は、改行コード「\n」を使用しましょう。
print('Red', 'Green', 'Blue', sep = '\n') # Red # Green # Blue
また、リストの要素を出力する際には、リスト(またはその変数)の直前に「*」を付けます。
デフォルトでは、空白で区切られ、sepを引数として渡すこともできます。
height = [166, 171, 176, 168, 172] print(*height) # 166 171 176 168 172 print(*height, sep = ', ') # 166, 171, 176, 168, 172
Pythonのprint()関数で、複数の文字列・数値を1つの文字列にする方法(「+」、「%」、formatメソッド)
ここでは、複数の文字列・数値を1つの文字列にする方法を「+」、「%」、formatメソッドに分けて紹介します。
「+」を用いた文字列の出力
「+」を用いることで、文字列と文字列を続けて表示することができます。
sign = 'さそり座' print('私は' + 'sign' + 'です') # 私はさそり座です
しかし、次のようなプログラムではエラーが起こってしまいます。
month = 6 print('私は' + month + '月生まれです') # エラー
これは、文字列と数値という別の型を繋げようとしたためです。
解決するには、数値を文字列に変える必要があります。
数値を文字列に変えるためには、str()関数を使います。
month = 6 print('私は' + str(month) + '月生まれです') # 私は6月生まれです
「%」を用いた文字列の出力(printf形式)
Pythonのprint()関数では、他のプログラミング言語の「%」を用いたprintfのような形式の出力もできます。
形は、
です。
変数が入る文字列には、埋め込みたい箇所に「%d」「%f」「%s」といった変換指定子を記述しておきます。
「%d」には整数が、「%f」には浮動小数点数が、「%s」には文字列が埋め込まれます。
month = 6 print('私は%d月生まれです' % month) # 私は6月生まれです name = 'Taro' year = 1930 print('%sは%d年生まれです' % (name, year)) # Taroは1930年生まれです
formatメソッドを用いた文字列の出力
formatメソッドを使うことで、より直感的に文字列に値の埋め込みができます。
変数が入る文字列には、{}を用いて埋め込みたい箇所を指定します。
month = 6 print('私は{}月生まれです'.format(month)) # 私は6月生まれです name = 'Taro' year = 1930 print('{}は{}年生まれです'.format(name, year)) # Taroは1930年生まれです
インデックスを指定することで、同じ値を繰り返し使えます。
name = ‘Taro’
food = ‘りんご’
print(‘{0}は{0}が育てた{1}で作った、{1}のスイーツが大好きです’.format(name, food))
# TaroはTaroが育てたりんごで作った、りんごのスイーツが大好きです
最後に: print()関数の書き方は、シンプルなものから複雑なものまである
print()関数の様々な記述方法を紹介しました。
少し複雑なものもありましたが、Pythonプログラミングを続けていく上でどれも欠かせないものです。
一つ一つしっかりと定着させていきましょう!