プログラミング

Pythonのprint関数でデータを表示する(初心者のPython入門)

2020年10月26日

Pythonでデータを表示するprint関数の使い方です。(Pythonの標準関数です。)

Pythonの標準関数一覧はこちらです。

標準出力にデータを出力(表示)する

ターミナル、コマンドプロンプトなどと呼ばれるテキストの表示、入力を行うプログラムに備わっている表示機構を標準出力と呼びます。この標準出力にデータを表示するのがprintです。

ターミナルやコマンドプロンプトを使用しないプログラムでは、printによる出力は行われません。

print関数の使い方

print関数は、変数や数値、文字列などを表示することができます。

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

objects(対象)を、sep(セパレータ)で区切って表示します。
最後にendを出力しますが、指定しなければ改行コード(\n)が入ります。
出力先は指定しなければ画面(sys.stdout)に表示されます。
flushにTrueを指定すると、バッファーに入っているものを含めて強制的に出力します。

通常は、fileやflushは使わない(私だけ?)ので、その他のパラメータの使い方を見てみましょう。

# -*- coding: utf-8 -*-

print('----------------------')
print('■数値や文字列を表示')
print('abc')
print(10)
a=20
print('a=',a)
print('----------------------')
print('■数値や文字の混在表示')
a=10
b=20
print('a=',a,' ','b=',b)

print()に、カンマで区切って文字列や数字、変数を入れると、順番に表示してくれます。

実行結果は以下の通りです。

----------------------
■数値や文字列を表示
abc
10
a= 20
----------------------
■数値や文字の混在表示
a= 10 b= 20

pythonのprintで改行したくない場合は、end=''(シングルクォーテーション2個)のように指定します。

end=''は、省略するとend='\n'が入るため、通常はprintで表示したものは改行されます。

end=''を指定すれば、改行しないため、次のprint関数で指定した値が改行せずに表示されます。

# -*- coding: utf-8 -*-

print('■改行したくない場合')
print('123',end='')
print('456')

実行結果は以下の通りです。

改行コードが入らず、123の直後に456が表示されています。

■改行したくない場合
123456

sepは、セパレーターです。セパレーターとは表示を区切るものという意味です。セパレーターを指定することで、複数の値の間の表示をどのように行うか指定できます。

# -*- coding: utf-8 -*-

# セパレータの指定
print('■セパレータ')
a=10
b=20
c=30
print(a,b,c)
print(a,b,c,sep='@')
print(a,b,c,sep='-')
print('----------------------')
print('■セパレータ(リストは変数の前に*を付けるとセパレータが効きます)')
d=[1,2,3,4,5]
print(*d,sep='@')
print('----------------------')

実行結果は以下の通りです。リスト変数の前に*を入れるとセパレータが使えます。

■セパレータ
10 20 30
10@20@30
10-20-30
----------------------
■セパレータ(リストは変数の前に*を付けるとセパレータが効きます)
1@2@3@4@5
----------------------

%dや%sのように、表示する位置を指定することが出来ます。この指定は、C言語に慣れている人にはわかりやすいですね。%dは数値、%sは文字列を表示するのに使用します。

同様なことは、format()による指定でも可能です。{}を指定することで、変数の表示位置を指定することができます。表示対象が文字か数値かなどを考える必要が無いので、こちらの方が使いやすいと思います。(%dや%sでは、数値と文字の指定を間違えるとエラーになります。)

# -*- coding: utf-8 -*-

print('■変数を%dや%sで表示する')
a='100*3'
b=100*3
print('%s=%d' % (a,b))
print('----------------------')
print('■変数をformatで表示する')
a='100*3'
b=100*3
print('{}={}'.format(a,b))
print('----------------------')

実行結果は以下の通りです。

■変数を%dや%sで表示する
100*3=300
----------------------
■変数をformatで表示する
100*3=300
----------------------

pythonのprint関数は、さまざまな変数をそのまま与えるだけで表示が行われるため、簡単に使えると思います。リストや辞書などもfor文などを使わなくても内容が表示されるので、とにかく変数の中身が気になったらprintしてみるのが良いと思います。

-プログラミング
-,

© 2020 小さなことをやってみるブログ