🟦Python学習記録#24|ログ出力を関数にまとめて再利用する

Code

はじめに

これまでの学習記録では、

  • 数値を計算する(count / sum / avg)
  • 判定結果を dict にまとめる
  • for文で中身を取り出して表示する

という流れを学んできました。

今回はその発展として、
**「ログ出力処理を関数にまとめて再利用する」**ことをテーマに学習します。


今回やりたいこと

今回のゴールは以下です。

  • dict に入った集計結果を
  • ログ形式(1行)で
  • 何度でも使える関数として出力できるようにする

イメージとしては、こんな出力です。

[WARN] count=20 sum=980 avg=49

使用するデータ(これまでと同じ)

stats = {
    'count': 20,
    'sum': 980,
    'avg': 49,
    'level': 'WARN'
}

ログ出力用の関数を作る

関数の考え方

  • level は先頭に [WARN] のように表示
  • それ以外の項目は key=value の形で並べる
  • dict の中身は for 文で順に取り出す

実装コード

def log_stats(stats):
    message = f"[{stats['level']}] "
    for key, value in stats.items():
        if key != 'level':
            message += f"{key}={value} "
    print(message)

実行してみる

log_stats(stats)

実行結果

[WARN] count=20 sum=980 avg=49

1行で見やすいログ出力ができました。


学んだポイント

① dict は「作る」だけでなく「使う」もの

  • #21では dict を作る
  • #23では中身を取り出す
  • #24では 整えて表示する

という流れができました。


② for文は「箱の中を順に見る」道具

for key, value in stats.items():
  • dict の中を1つずつ確認
  • 条件を付けて表示内容をコントロールできる

③ 処理と表示を分けると再利用しやすい

  • 計算は別の関数
  • 表示は log_stats() に任せる

この形にすると、
あとから項目が増えても表示処理を変えやすい ことが分かりました。


まとめ

  • dict の中身を for で回してログ形式に整えた
  • 表示処理を関数にまとめることで再利用できるようになった
  • 「計算」と「表示」を分ける考え方を学んだ

次は、

  • ログのレベルを自動で切り替える
  • ログをファイルに書き出す

といった方向にも進めそうです。

コメント

タイトルとURLをコピーしました