Pythonでプログラムの実行結果を画面に表示する「標準出力」は、最も基本的かつ重要な機能です。この記事では、Pythonの標準出力について、基本から応用まで詳しく解説します。初心者の方はもちろん、出力方法を整理したい中級者の方にも役立つ内容です。
標準出力とは、プログラムの実行結果をコンソール(ターミナル)や画面に表示する仕組みです。Pythonでは主にprint()
関数を使って標準出力を行います。デバッグやユーザーへの情報表示、ログ出力など、さまざまな場面で活用されます。
Pythonで標準出力を行う最も基本的な方法は、print()
関数を使うことです。
print("Hello, World!")
上記を実行すると、画面に「Hello, World!」と表示されます。
print("こんにちは")
print(123)
name = "Python"
print(name)
numbers = [1, 2, 3]
print(numbers)
person = {"name": "Taro", "age": 20}
print(person)
Python 3.6以降では、f文字列(フォーマット済み文字列リテラル)を使うことで、文字列中に変数や式を簡単に埋め込むことができます。
f文字列は、文字列の前にf
またはF
を付け、埋め込みたい変数や式を波括弧 {}
で囲みます。
language = "Python"
print(f"{language}")
# 出力: Python
このように、f"{変数}"
の形で変数の値を直接文字列内に埋め込めます。
name = "Taro"
age = 20
print(f"{name}さんは{age}歳です")
# 出力: Taroさんは20歳です
x = 10
y = 5
print(f"{x} + {y} = {x + y}")
# 出力: 10 + 5 = 15
f文字列内の {}
には変数だけでなく、計算式や関数の結果も埋め込むことができます。
f文字列では、書式指定も簡単にできます。たとえば小数点以下の桁数指定やゼロ埋め、桁区切りなども直感的に記述できます。
pi = 3.14159
print(f"円周率は{pi:.2f}です")
# 出力: 円周率は3.14です
number = 1234567
print(f"カンマ区切り: {number:,}")
# 出力: カンマ区切り: 1,234,567
print()
関数には、出力を柔軟に制御できる引数があります。
複数の値を出力する際の区切り文字を指定できます。
print("A", "B", "C", sep="-")
# 出力: A-B-C
出力の末尾に付加する文字列を指定します。デフォルトは改行(\n)です。
print("Hello", end="")
print("World")
# 出力: HelloWorld
標準出力以外にファイルへ出力できます。
with open("output.txt", "w") as f:
print("ファイルに出力", file=f)
バッファを使わず即時出力したい場合に使います。
import time
for i in range(3):
print(i, flush=True)
time.sleep(1)
print()
のend
引数を使うことで、改行せずに連続して出力できます。
print("Hello", end="")
print("World")
# 出力: HelloWorld
Python3.6以降では、f文字列(フォーマット文字列)を使うことで、変数の値を簡単に文字列内に埋め込めます。
name = "Taro"
age = 25
print(f"{name}さんは{age}歳です")
# 出力: Taroさんは25歳です
print()
のfile
引数を使うことで、標準出力以外にファイルへも簡単に出力できます。
with open("log.txt", "w") as f:
print("ログを書き込みます", file=f)
sys.stdout.write()
を使うと、print関数よりも細かい制御が可能です。自動で改行が入らないため、進捗バーやリアルタイム表示などに便利です。
import sys
import time
for i in range(101):
sys.stdout.write(f"\rProgress: {i}%")
sys.stdout.flush()
time.sleep(0.1)
str()
で型変換が必要です。print("変数名")
と書くと、変数の値ではなく文字列”変数名”が出力されます。Pythonの標準出力は、print()
関数を中心に、さまざまなデータ型や出力形式に対応しています。
区切り文字や改行制御、ファイル出力、f文字列やsys.stdout.write
による柔軟な出力など、用途に応じて使い分けることで、より見やすく便利な出力が可能です。
プログラムのデバッグや情報表示、ログ出力など、幅広い場面で活用できるので、ぜひマスターしましょう!