画面への文字列の出力はプログラムの基本中の基本です。Pythonにおける画面への出力には「print関数」を使います。Pythonを使う上で、print関数は欠かす事が出来ないものです。今回はprint関数の使い方について説明します。

printとは

print関数は、文字列を画面に出力する関数です。print関数の基本的な構文は以下のようになります。

print(‘出力したい文字列’)

printで文字を出力するには、printの引数部分に出力したい文字列を置きます。printでは文字の末尾に改行が追加されるので、出力した文字列が自動的に改行されます。改行をしたくない場合はendオプションを用いて末尾に何も付加しないようにします。

print(‘Hello’, end=’‘)
print(“World’)

<実行結果>

HelloWorld

また、Python2の場合は文字列のあとに「,」を付けることで改行をなしにできます。

print(‘Hello’ ,)
print(‘World’)

<実行結果>

HelloWorld

printで変数を出力する

printで変数だけを出力

Pythonでは変数に文字列や数字を格納することができます。printを使えば変数に格納した文字列や数字を出力することもできます。

strings = 'Hello, World!'
number = 100
print(strings)
print(number)

<実行結果>

Hello, World!
100

これで、printを用いて変数を出力できるようになりました。しかし、printで変数を出力する時に、任意の文字列と一緒に表記したい時があると思います。例えば、ある計算結果が100になった際に、ただ「100」と表示するよりも「答え:100」といったように出力したほうがわかりやすいですね。
Pythonのprintには、文字列と変数を一緒に出力する方法がいくつかあります。

format関数

Python2.6以上から使うことができる新しい方式が、format関数を使って文字列と変数を出力する方法です。format関数の書式は以下の通りです。
print(‘任意の文字列{0}任意の文字列’.format(変数)
format関数を使う時は、任意の文字列を入力し、変数を代入したい場所に{0}を入力します。すると、{0}の位置にformatの引数になっている変数の値が表示されます。

number  = 100
print('答え:{0}'.format(number))

<実行結果>

答え:100

表示したい変数が複数あるときは、{0}, {1}, {2}….と{}を増やしていき、format関数の中の引数にformat(変数1, 変数2, 変数3…..)というように追加していきます。

answer1 = 50
answer2 = 100
print('答え1:{0}, 答え2:{1}'.format(answer1, answer2))

<実行結果>

答え1:50, 答え2:100

%記法

%記法は%演算子を使って変数で置き換える方法です。 C言語などでおなじみの方法ですね。%dや%sなどの変換指定文字を利用して文字列と変数を出力します。%記法の書式は以下の通りです。
print(‘任意の文字列%s任意の文字列’) % 変数 #変数の中身が文字列のとき
print(‘任意の文字列%d任意の文字列’) % 変数 #変数の中身が整数のとき
変換指定文字はいくつか種類がありますが、変数の中身が文字列のときの「%s」、整数の数値のときの「%d」の2つがとくによく使われます

answer = 50
print('答え:%d' % answer)

<実行結果>

答え:50

%記法で複数の変数を出力したい場合は、タプル型を利用します。

name = 'Tanaka'
point = 80
print('%sの得点:%d' % (name, point))

<実行結果>

Tanakaの得点:80

文字列+変数

3つ目の方法は、+演算子で文字列と変数を足し合わせて一つの文字列として出力することです。Pythonでは+演算子で文字列と文字列や文字列を格納した変数を足し合わせることができ、これを連結といいます。print関数の中で文字列を連結することで、一つの文字列にしてそのまま出力することができます。

a = 'hello'
b = 'world!'
print(a + ',' + b)

<実行結果>

hello,world!

連結ができるのは文字列だけなので、数値などを出力するときは文字列に変換してから連結するようにしましょう。

name  = 'Tanaka'
point = 80
print(name + 'の得点:' + str(point))  #pointをstr関数で文字列に変換

<実行結果>

Tanakaの得点:80

・日本語の扱いについて
ここまでのサンプルでもお分かりかもしれませんが、Pythonのprintでは、当然日本語を出力することができます。しかし、何も考えずに日本語を出力しようとするとエラーになることがあります。

おわりに

いかがでしたでしょうか。
文字列の出力は初心者でも上級者でも利用する機会が多いであろうprint文です。ぜひ、使い方を習得しておきましょう。