📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/
はじめに
これまでの学習では
- 計算結果を dict にまとめる
- ログ出力を 関数にして再利用する
といった形で
ログを整理して表示する仕組みを作ってきました。
今回は一歩進めて、
ログレベル(OK / WARN / ERROR)を数値から自動判定する方法
を学習します。
人が判断していた部分を
コードに任せる仕組みを作るのが今回の目的です。

今回のゴール
今回の学習目標は次の4つです。
- 平均値(avg)を条件で判定する
- 条件に応じてログレベルを決める
stats['level']を自動で更新する- 既存のログ出力関数と組み合わせる
つまり
「判断をコードに任せる」感覚を身につけること
が今回のテーマです。
使用するデータ
今回もこれまで使ってきた stats を利用します。
stats = {
'count': 20,
'sum': 980,
'avg': 49,
'level': 'WARN'
}
最初は仮の level を入れていますが、
最終的には avg の値から自動で決定します。
ログレベル判定ルール
今回は次のルールで判定します。
| avg | ログレベル |
|---|---|
| 70以上 | OK |
| 50以上 | WARN |
| 50未満 | ERROR |
このルールをif / elif / else で表現します。
Pythonでログレベルを自動判定するコード
if stats['avg'] >= 70:
stats['level'] = 'OK'
elif stats['avg'] >= 50:
stats['level'] = 'WARN'
else:
stats['level'] = 'ERROR'
ポイント
stats['avg']を条件に使う- 条件に合った
levelを代入する - 人ではなく コードが判断する
ログ出力関数と組み合わせる
前回作成したログ出力関数と組み合わせます。
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
avg の値に応じて
ログレベルが自動で切り替わることが分かります。
なぜログレベルを自動判定するのか
この仕組みを作るメリットは次の通りです。
- 毎回レベルを手動で決める必要がない
- 判断基準をコードに残せる
- 同じルールを何度でも使える
つまり
人が判断 → コードが判断
に変わることで
再利用できる仕組みになります。
今回の学び
今回学んだポイントです。
if文で条件をコードにできる- 数値から状態(ログレベル)を決められる
- dict の値を書き換えて状態管理できる
- ログ出力がより実務に近づく
次のステップ
次の学習としては
- 判定処理を 関数化する
- 複数データを ループ処理する
- ログ設計を さらに整理する
などに進むと理解が深まります。
まとめ
今回のポイント
- ログの「形」は 関数で統一
- ログの「意味」は 条件で自動判定
- 判断をコードに任せることで 再利用性が高くなる
少しずつですが
実務で使われるログ設計の考え方に近づいてきました。
📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/


コメント