【初心者向け】Pythonの出力処理printを学ぼう!

プログラミング
Pythonの基本処理であるprintの内容を解説します。標準出力処理として多くの言語で使われているprintは、Pythonにも例外なく用意されています。初心者でもわかりやすくサンプルコードで解説し、Python2とPython3でprintの書き方の違いも説明していきます。
【初心者向け】Pythonの出力処理printを学ぼう!

「print」はPythonの基本的な処理であり、業務でも多く使われます。
今回はprintがどのような処理であるか?さまざまなシチュエーションに応じた書き方も解説していきますので、Pythonを学び始めた方は基本を固めるようにしましょう。

Pythonのprint(プリント)とは?

「print」とは出力関数であり、指定の文字列や数値を標準出力することができます。
printはデバッグやエラー出力などにもよく使用されることからも、重要性の高い処理と言えるでしょう。基本の書き方を理解するためにもフォーマットや各種出力の仕方を見ていきましょう。

printのフォーマットを理解しよう!

printをするためには、フォーマット(書き方)を理解する必要があります。
基本的にPythonはシンプルな構文でプログラミングできるため、簡易的に対応することが可能です。項目ごとに説明していきますのでチェックしてください。

Python2とPython3では書き方が違う

PythonにはPython2とPython3が存在し、それぞれで書き方が違います。
Python2の場合は print xxx、Python3の場合は print(xxx) です。xxxには文字列や変数を入れますので、状況に応じて使い分けるようにしましょう。

文字列の出力

それではもっとも基本である文字列の出力を見ていきましょう。

・Python2の場合

print 'hello world'

・Python3の場合

print('hello world')

出力結果は両方とも hello world となります。
シングルクォーテーションでくくられることで文字列としての扱いになります。出力結果を変更させたい場合はシングルクォーテーション内の文字を変更しましょう。

数値の出力

数値の出力も可能です。変数に数値が入っている場合は下記のようにprintを行うことで数値を出力することができます。

・Python2の場合

a = 123
print a

・Python3の場合

a = 123
print(a)

出力結果はともに 123 です。
文字列ではシングルクォーテーションを使いましたが、変数の場合はシングルクォーテーションが必要ありません。仮にシングルクォーテーションで囲ってしまうと、「a」という出力結果になりますので注意してください。

リストの出力

リストは一つの変数の中に複数の情報を入れることができます。 業務として大きいデータを持つ際に役に立つことが多いです。リストもprintで出力できますので見ていきましょう。

・Python2の場合

num_list = [1,2,3,4]
print num_list

・Python3の場合

num_list = [1,2,3,4]
print(num_list)

出力結果は [1, 2, 3, 4] です。
数値の出力のように生成した変数を指定するだけで簡易的に出力することが可能です。

辞書の出力

Pythonにおける辞書は、keyvalue の組み合わせであり、さまざまな場面で役に立ちます。辞書の出力方法も見ていきましょう。

・Python2の場合

jisyo = {'asada': 1, 'suzuki': 2, 'saitou': 3}
print jisyo

・Python3の場合

jisyo = {'asada': 1, 'suzuki': 2, 'saitou': 3}
print(jisyo)

出力結果は {'suzuki': 1, 'yamada': 2, 'saitou': 3} です。 リストや数値のように変数をそのまま指定するだけで出力することができます。

複数の変数による出力

複数の変数を一度に出力したい場合もあります。下記のように対応するといいでしょう。

・Python2の場合

jisyo = {'asada': 1, 'suzuki': 2, 'saitou': 3}
num = 10
list = [0,1,2,3]
print jisyo, num, list

・Python3の場合

jisyo = {'asada': 1, 'suzuki': 2, 'saitou': 3}
num = 10
list = [0,1,2,3]
print(jisyo, num, list)

出力結果はともに {'asada': 1, 'suzuki': 2, 'saitou': 3} 10 [0, 1, 2, 3] です。
printの後にカンマで区切ることで複数の出力が可能です。今回の例では3つの変数を同時出力していますが、4つでも5つでもカンマを入れれば対応可能です。

特定文字列の中に指定変数を入れて出力したい場合

変数同士を掛け合わせて複数の出力ができるやり方を学びましたが、特定文字列の中に変数を入れたい場合もあります。
たとえば出力結果として「○○さんは××です」という風にしたい場合を教えていきます。それぞれの方法を見ていきましょう。

%記法で対応する方法

「%」演算子を使用して対応することが可能です。こちらは例を見るとわかりやすいでしょう。

・Python2の場合

name = 'saitou'
year = 1990
print '%s was born in 1990' % name
print '%s was born in %d' % (name, year)

・Python3の場合

name = 'saitou'
year = 1990
print('%s was born in 1990' % name)
print('%s was born in %d' % (name, year))

出力結果はともに saitou was born in 1990 が2行続けて出力されます。
ポイントは「%」を使用していることです。今回の例では %sname が入り、%dyear が入りました。このようにすることで文字列の中に指定変数を出力させることができます。
文字列を指定する場合は「%s」、数値を指定する場合は「%d」と覚えましょう。

formatメソッドで対応する方法

「format」メソッドを利用することでも対応が可能です。
「%」とは違い、文字列や数値の指定をしなくてもいいので、より簡易的にできます。

・Python2の場合

name = 'kato'
age = 29
print 'kato is {} years old'.format(age)
print '{} is {} years old'.format(name, age)

・Python3の場合

name = 'kato'
age = 29
print('kato is {} years old'.format(age))
print('{} is {} years old'.format(name, age))

出力結果はともに kato is 29 years old が2行続けて出力されます。
{} を指定することで変数の値を入れることができます。文字列や数値に関係なく {} とすればいいので便利です。

f文字列で対応する方法

Python3.6以降に対応されたのが「f文字列」です。下記のようにコードを書くと、%やformatメソッドを利用したように対応することが可能です。

name = 'kato'
age = 29
print(f'{name} is {age} years old')

ポイントは、シングルクォーテーションの前に f を入れることです。フォーマットはprint(f’xxx’)ですので、f変数名 と言う風には使用できないので注意してください。

基本であるprintを理解したら次のステップへ!

「print」はPythonの中でも基本的な処理ですが、デバッグやエラー出力など多くの処理で使われるのでフォーマットや使い方をきちんと理解するようにしましょう。
printを理解したら次のステップへ進み、少しずつでもいいので理解を深めていきましょう。


この記事のキーワードに関する勉強会・イベントを探す

TECH PLAYでは、ITエンジニア向けの勉強会・イベント情報を提供しています。
興味のある方はぜひご参加ください。


おすすめのコラム