はじめに
これまでの学習記録では、
- 数値を計算する(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 で回してログ形式に整えた
- 表示処理を関数にまとめることで再利用できるようになった
- 「計算」と「表示」を分ける考え方を学んだ
次は、
- ログのレベルを自動で切り替える
- ログをファイルに書き出す
といった方向にも進めそうです。


コメント