Pythonを学び始めたばかりの方も、すでに業務で使っている方も、「print
関数なんて、ただ文字を表示するだけでしょ?」と思っていないだろうか。
実は、print
はデバッグからログ出力、整形表示、ファイル操作にまで幅広く応用できる奥深い関数だ。
この記事では、初心者が意外と知らないけど、知っておくと実務で差がつく10のprint
活用術を、具体的なコードとともに解説していく。
1. 改行をなくす:endパラメータ
通常、print
は末尾に自動で改行が入る。
しかし、end=''
を使えば改行を防ぎ、文字列をつなげて表示できる。
print("こんにちは", end='')
print("世界!")
# 出力:こんにちは世界!
活用場面
- プログレスバー表示
- 同じ行に情報を連続出力
2. セパレータを変える:sepパラメータ
複数の要素を出力する際の区切り文字を変更できる。
print("2025", "08", "02", sep='-')
# 出力:2025-08-02
活用場面
- 日付や時刻の整形
- CSV形式の出力
3. ファイルへ出力:fileパラメータ
標準出力ではなく、ファイルに直接書き出すことも可能。
with open("log.txt", "w", encoding="utf-8") as f:
print("ログ開始", file=f)
活用場面
- ログファイル生成
- エラーレポートの自動出力
4. 複数行出力:""" """の活用
複数行の文字列はトリプルクォートで記述可能。
print("""
=== アプリ使用方法 ===
1. メールアドレスを入力
2. パスワードを設定
3. ログイン
""")
活用場面
- ユーザーガイド表示
- CLIでのインストラクション提示
5. ANSIエスケープで色をつける
ターミナルでの出力をカラフルに強調表示するには、ANSIエスケープコードが便利。
print("3[91mエラーが発生しました3[0m")
色名 | コード例 | 表示例 |
---|---|---|
赤 | \033[91m | エラー |
緑 | \033[92m | 成功メッセージなど |
青 | \033[94m | 情報ログ |
活用場面
- CLIツールでのログレベル表示
- エラーメッセージの視認性向上
6. オブジェクトをきれいに出力:pprintモジュール
辞書やリストなど複雑なデータ構造の整形表示には、pprint
を使おう。
from pprint import pprint
data = {"user": "taro", "logs": [{"action": "login"}, {"action": "logout"}]}
pprint(data)
活用場面
- デバッグ時の確認
- APIレスポンスの可視化
7. 出力を一時的に無効化する
ログの抑制やテスト時にはprint
を一時的に無効化できる。
import sys
import os
sys.stdout = open(os.devnull, 'w')
print("これは表示されない")
活用場面
- 単体テストでの出力制御
- ノイズの多いログを一時停止
8. f-stringによる高度なフォーマット
Python3.6以降では、f-stringによる変数展開が便利。
name = "横井"
age = 28
print(f"{name}さんは{age}歳です")
活用場面
- デバッグログ
- 日本語と変数を組み合わせた出力
9. デバッグ専用:print(vars(obj))
クラスインスタンスの内部情報を出力するにはvars()
が便利。
class User:
def __init__(self, name, email):
self.name = name
self.email = email
user = User("taro", "taro@example.com")
print(vars(user))
活用場面
- オブジェクトの中身確認
- クラスの挙動チェック
10. デフォルトのprintを拡張する
独自の出力関数を作ることでロギングのような機能を組み込める。
def debug_print(msg):
print(f"[DEBUG] {msg}")
debug_print("読み込み完了")
活用場面
- カスタムログ形式の導入
- チーム内の出力ルール統一
おまけ:出力内容をコピーしやすくするテク
ブログ記事やCLIツールでは、コードをそのままコピーできるように整える配慮も忘れずに。
- 行頭に
>>>
や$
をつけない - エラーメッセージと正常出力を分ける
- 出力例とコードをセットで見せる
まとめ:printは「表示」以上の価値がある
print
は「ただ表示するだけ」の関数ではない。
ログ、デバッグ、ファイル出力、色付きメッセージ、整形表示など、工夫次第で活用範囲は無限大だ。
実務や学習中に「もっと見やすくしたい」「ログを残したい」と感じたとき、ぜひこの記事の内容を思い出してほしい。
日々の開発が、少し楽しく・効率的になるはずだ。
コメント