Pythonでプログラミングを始めると、最初に使う機能のひとつが「標準出力」です。
標準出力は、実行中のプログラムが文字や数値をターミナル(コンソール)へ表示する仕組みのことです。
この記事では、初学者向けに標準出力の基本を解説し、実際に手を動かしながら理解を深めます。
標準出力とは?
プログラムが処理結果やメッセージをユーザーに伝えるための仕組みです。
ほとんどの言語で同様の機能がありますが、Pythonでは主に print() 関数を使います。
コマンドライン実行時には画面に、ファイルへリダイレクトするとファイルに書き出されます。
print関数の基本
print('Hello, World!') # → Hello, World!
引数に文字列や数値を指定すると、標準出力へ出力します。
複数の値をカンマで区切ると自動で空白が入ります。
print('Hello', 'World') # → Hello World
改行と区切り文字の制御
デフォルトでは出力後に改行が入ります。
end 引数で末尾文字を変更可能です。
print('A', end='')
print('B')
# → AB
sep 引数で区切り文字を変更できます。
print('apple', 'banana', sep=',') # → apple,banana
ファイルへの出力(リダイレクト)
下記は、標準出力をファイルに書き出す例です。
python myscript.py > output.txt
Pythonコード内でファイルに直接書き込む方法もあります。
with open('output.txt', 'w') as f:
print('ログメッセージ', file=f)
ストリームの指定
print関数の file 引数で出力先を切り替えられます。
import sys
print('エラーです', file=sys.stderr)
sys.stdout と sys.stderr で標準出力・標準エラー出力を指定可能です。
応用例:進捗表示
下記は、ループ処理中に同じ行を上書きする例です。
import time, sys
for i in range(1, 6):
print(f'進捗: {i}/5', end='\r')
time.sleep(1)
print('\n完了!')
標準出力の活用ポイント
- デバッグメッセージとしてログを確認
- ユーティリティスクリプトの結果表示
- テストやCIパイプラインでパイプ連携
演習問題
以下の課題に取り組んで、学んだ内容を確認しましょう。
問題1
Hello, Python! と改行せずに出力するプログラムを書いてください。
問題2
リスト [‘red’, ‘green’, ‘blue’] の要素を |(パイプ)区切りで一行に出力するプログラムを書いてください。
問題3
変数 x = 123 を使い、「変数xの値は123です。」とf文字列で出力してください。
問題4
sys.stderr を使って「エラーが発生しました」と標準エラー出力に表示するプログラムを書いてください。
問題5
ループで1秒ごとに数字をカウントし、同じ行を上書きして表示する進捗表示プログラムを書いてください。
解答例
# 解答1
print('Hello, Python!', end='')
# 解答2
colors = ['red', 'green', 'blue']
print(*colors, sep='|')
# 解答3
x = 123
print(f'変数xの値は{x}です。')
# 解答4
import sys
print('エラーが発生しました', file=sys.stderr)
# 解答5
import time, sys
for i in range(1, 6):
print(f'進捗: {i}/5', end='\r')
time.sleep(1)
print('\n完了!')
まとめ
本記事ではPythonの標準出力について、print() 関数の基本から改行制御、ファイル出力、エラー出力、さらには進捗表示までを解説しました。
演習問題に取り組むことでさらに理解が深まります。ぜひ日々のプログラミングで活用してみてください。