Pythonにおいて初心者でも上級者でも利用する機会が多いであろうprintです。基本的な使い方から少し踏み込んだ使い方まで見てみましょう。
基本的な使い方
Python 3系では
printは引数の値を指定された出力先へ出力します。標準出力であるsys.stdoutがデフォルトの出力先となり、コマンドプロンプトで実行した場合はコマンドプロンプトのコンソールへ出力されます。またprintごとに改行されて出力されます。
※Python 3系でprintは関数化されました。
Python 3系
print('python') print('-') print('izm') print('com')
python - izm com
Python 2系では
Python 2系ではprintは関数ではありません。基本的な使い方は変わりませんが、次のように「 () 」を用いません。
Python 2系
# -*- coding: utf-8 -*- print 'python' print '-' print 'izm' print 'com'
python - izm com
改行しない
Python 3系では
end引数でprintの最後に付与する値を指定することができます。デフォルトでは改行( \n )が付与されるので、下記のように半角スペースなどを指定すると改行されずに出力されます。もちろん半角スペース以外を指定することもできます。
Python 3系
print('python', end=' ') print('-', end=' ') print('izm', end=' ') print('com')
python - izm com
Python 2系では
printの末尾に「 , 」(カンマ)を付与して出力を行うと、改行されずに出力されます。
Python 2系
# -*- coding: utf-8 -*- print 'python' , print '-' , print 'izm' , print 'com'
python - izm com
出力先の変更
Python 3系では
出力先を一時的にファイルへ変更する場合、Python 3系ではfile引数へ出力先となるファイルオブジェクトを渡します。これは一時的な適用なので、file引数なしでprintを実行すると元の出力先(コンソール)へ出力されます。ファイル操作の詳細はファイル読み書きを参照してください。
Python 3系
f_obj = open('test.txt', 'w') print('python-izm.com', file=f_obj)
Python 2系では
Python 2系では >>の後にファイルオブジェクトを渡し、カンマで区切ってから出力を行う文字列を渡します。
Python 2系
# -*- coding: utf-8 -*- f_obj = open('test.txt', 'w') print >> f_obj , 'python-izm.com'
フォーマット出力
フォーマットを指定して出力を行う方法です。文字列や数値などを交えて出力を行ってみましょう。%sは文字列、%dは数値として認識され、混在して出力することができます。フォーマット識別子を含んだメインの文字列の後に%を接続語としてフォーマット出力を行う値を渡します。
※基本的な使用法は2系でも3系でも変わりません。
print('Pythonの学習サイト : %s' % 'python-izm.com') print('Pythonの学習サイト : %s-%s.%s' % ('python', 'izm', 'com')) test_int = 100 + 100 test_str = 'python-izm.com' print('サイト開設 %d 日目! %s' % (test_int, test_str))
Pythonの学習サイト : python-izm.com Pythonの学習サイト : python-izm.com サイト開設 200 日目! python-izm.com
また別の方法としてformatを利用することができます。
print('Pythonの学習サイト : {}'.format('python-izm.com')) print('Pythonの学習サイト : {0}-{1}.{2}'.format('python', 'izm', 'com')) test_int = 100 + 100 test_str = 'python-izm.com' print('サイト開設 {1} 日目! {0}'.format(test_str, test_int))
Pythonの学習サイト : python-izm.com Pythonの学習サイト : python-izm.com サイト開設 200 日目! python-izm.com
こちらの方がより新しい方法を用いたフォーマット出力です。文字列内の「 {} 」へ指定した値を埋め込みます。「 {} 」内に整数を指定した場合はformatの引数の順番に応じて出力されます。