人気のプログラミング言語として、Pythonに注目が集まっています。比較的シンプルでわかりやすく、AIを含め様々なシステム開発をするのに適しているからです。Pythonをマスターするにあたって、今回紹介する「print」への理解は必須と言えるでしょう。ぜひ、記事を通して理解を深めてみましょう。
Pythonにおけるprintの役割
まずは、Pythonでのprint関数の役割について紹介します。簡単に言えば、処理した結果を画面に出力するための関数で、自分が行っている処理が正しく反映されているかどうか確認するために使われます。
いろいろな場面で利用される
print関数は出力関数の一種で、文字列や数値、真偽値などの各種値を画面上に表示できます。よって、Pythonでプログラミングを行うにあたって、さまざまな場面で使われる関数と言えるでしょう。print関数はデバッグやエラー出力で使用されることもありますし、処理がどこまで進んでいるのか、リアルタイムで確認できる関数でもあります。
数値や文字列、真偽値には変数が入っていても問題なくコマンドできるでしょう。また、リストやタプル、辞書の変数に関してもそのまま出力できます。変数の値を確認するにあたって、重宝する関数です。
Python2と3で異なる点に注意
2024年時点で、Python3が主流になっています。しかしたまにPython2を使っていたり、Python2が主流の時点でこちらのプログラミング言語を学んでいたりする人は注意が必要です。Python2と3とでは、printの立ち位置が異なるからです。簡単に言えば、Python2では「print文」でした。一方、Python3ではprintは「関数」になりました。具体的に何が異なるのか、サンプルで紹介します。
何かを関数で処理したものを出力する場合、printやresultと呼ばれる関数を使用するのが一般的です。Python2では文章なので、以下のようなコードで処理します。
print result
一方、Python3では関数扱いになります。先ほどのprintとresultでコード処理する際には、以下のような形になります。
print(result)
このように、resultをカッコで囲む必要があります。もし、Python2のようにカッコなしでPython3で処理すると「Syntaxerror」となってしまって、エラーになります。同じPythonでもバージョンによってやり方が異なり、間違えるとエラーで正しく反映されない恐れがあるので注意してください。
print関数の基本的な使い方について解説
まずは、print関数の使い方の基本について見ていきます。以下で詳しく見ていきますが、基本はかなりシンプルです。しばらく使用すれば、すぐに使い方はマスターできるでしょう。
基本的な構文
たとえば文字列「あいうえお」を出力したかったと仮定しましょう。こちらを画面などに出力するためには、以下のようにコード表記します。
print('あいうえお')
上のソースコードでコマンドすれば、「あいうえお」と画面に表示されるはずです。先ほど紹介したようにPython3ではprintは関数です。そこで出力対象の値はカッコで囲むのを忘れないようにしてください。
同じくあいうえおを区切った状態で表示させたければ、以下のようにソースコードを作成してください。
print('あ','い','う','え','お')
このように記述すれば、「あ い う え お」というように区切った状態で表示できます。デフォルトでは先に紹介したように、半角スペースによって区切られているはずです。なお、この関数では、区切りに使用する文字を指定することも可能です。その場合には、以下のように記述してください。
print('あ','い','う','え','お', sep='/')
このようにsepというものを使って、区切り文字を指定できます。上でのサンプルではスラッシュ(/)で区切るようにコマンドしているので、出力結果は「あ/い/う/え/お」とそれぞれがスラッシュで区切られています。
数値の出力
数値の入力方法も、文字列の入力と基本的には同じです。printの後に数字を記入し、カッコで囲みます。小数点付きの数字の出力も可能で、やり方は一緒です。しかし、例えばprint(1.25000)と記述した場合、出力結果は「1.25」になり、0の部分は出力されません。またprint(2.00)と整数を小数点付きで記述しても、出力結果は「2」となり、小数点以下は一切反映されないでしょう。
またprint(‘パンは’,100,’円’)のように数値と文字列を混在したものも出力可能です。先のコードをコマンドした場合、「パンは100円」と表示されます。
リストの出力
リストの出力の基本は比較的簡単です。例えば、アルファベットのa~cまでのリストを出力したい場合、print([a,b,c])にすれば良いでしょう。この場合、出力結果は[a,b,c]となります。
もし、[]による囲いをなくしたければ「*」を使用しましょう。先ほどのサンプルの場合print(*[a,b,c])と記述しましょう。そうすると、a b cと[]なしで出力されます。基本の構文で紹介したsepで区切り文字を指定することも可能です。
print関数の使い方(応用編)
基本的な関数の使い方についてわかったところで、少し応用したものを見ていきます。該当する出力を希望する際には、以下の情報を参考にしてみてください。
改行なしで出力する
print関数を続けて記述し、複数出力を反映させることも可能です。しかし、以下のようにデフォルトでは、異なる関数の出力は改行の上で表現されます。
print('あいうえお')print('かきくけこ')あいうえおかきくけこ
もし「あいうえお」と「かきくけこ」を改行なしで同じ行で出力したければ、以下のようなソースコードで対応できます。
print('あいうえお', end='')print('かきくけこ')
このようにコマンドすれば、「あいうえおかきくけこ」と出力されます。ここでは単純連結でendの後は空文字列にしました。しかしもし区切りをつけるのであれば、endoの後で指定します。たとえばハイフン(-)で両者をつなげたければ、以下のようにコード記述してください。
print('あいうえお', end='-')print('かきくけこ')
このように表記すれば、出力結果は「あいうえお-かきくけこ」となるはずです。
formatメソッドとの併用
Pythonではprint関数と「formatメソッド」を組み合わせることで、使用するケースも少なくありません。formatとはPythonの文字列のための機能です。両者を組み合わせることで、変数の値をより自然な形で出力できます。
たとえば「Aはあ、Bはい」というように出力したかったとしましょう。この場合、print関数とformatを併用すれば正しく表示されます。具体的なやり方について見ていきましょう。
A = あB = いprint('Aは{あ},Bは{い}'.format(A,B))
このようなソースコードを入力すれば、出力結果は「Aはあ,Bはい」となるはずです。また以下のようなソースコードで記述すれば、同じ変数を複数回出力することも可能です。
A = あprint('{0},{0},{0}'.format(A))
このようにコマンドを出せば、あ,あ,あと3回連続で「あ」が表記されます。
ファイルに出力する
print関数を使えば、特定のファイルに文字列を出力することも可能です。たとえば、sampleテキストに「あいうえお」と出力したければ、以下のソースコードで対処できます。
file_text = open("sample.txt","w")print("あいうえお",file=file_text)file_text.close()
このように記述すると、「あいうえお」とsampleテキストに出力されます。
Pythonのprint関数のまとめ
Pythonの中でも、print関数は出力するためのものです。デバッグするときなど、さまざまな場面で使用されるものなのでPythonをマスターしたければ、早期の段階でマスターしておくべきです。数値だけでなく、文字列などあらゆるものをprintで出力できるので、実際に使ってみると重宝します。
ただし、Python2からprintを使用している場合、Python3にバージョンアップした際に機能が変わっているので注意してください。文から関数に変わっているので、カッコで囲まないとエラーになってしまうでしょう。