📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/
はじめに
Pythonでデータを集計するコードを書くと、
- 件数(count)
- 合計(sum)
- 平均(avg)
- 判定(OK / WARN / ERROR)
といった処理を 毎回バラバラに書いてしまうことがあります。
そこで今回は、
- 集計処理を 関数にまとめる
- 結果を dict(辞書)として返す
という形で
コードを整理する方法を学習しました。

完成形のコード
まずは完成コードです。
def calc_stats(numbers, warn_threshold=50, ok_threshold=70): count = len(numbers)
total = sum(numbers)
avg = total / count if avg >= ok_threshold:
level = 'OK'
elif avg >= warn_threshold:
level = 'WARN'
else:
level = 'ERROR' return {
'count': count,
'sum': total,
'avg': avg,
'level': level,
'warn_threshold': warn_threshold,
'ok_threshold': ok_threshold,
}numbers = [35, 7, 26, 59, 55, 73, 90, 24, 13, 28,
20, 71, 8, 89, 81, 97, 39, 66, 42, 57]stats = calc_stats(numbers)print(
f"[{stats['level']}] "
f"count={stats['count']} "
f"sum={stats['sum']} "
f"avg={stats['avg']:.2f}"
)
実行結果
[WARN] count=20 sum=980 avg=49.00
ポイント① 処理と表示を分ける
今回の重要なポイントは
処理と表示を分離することです。
計算処理
calc_stats()
集計処理だけを担当
表示処理
print()
ログ表示だけを担当
このように分けることで、
- 表示形式を変えても
- 計算ロジックを修正する必要がない
というメリットがあります。
ポイント② 結果をdictで返す
関数の結果は 辞書(dict) で返しています。
{
'count': 20,
'sum': 980,
'avg': 49.0,
'level': 'WARN'
}
dictにするメリット
- 値に名前が付く
- 意味でアクセスできる
- 拡張しやすい
例えば
stats['avg']
のように
意味を持ったデータとして扱えます。
ポイント③ thresholdを引数にする
今回の関数は
calc_stats(numbers, warn_threshold=50, ok_threshold=70)
のように
基準値を引数で変更できます。
例えば
calc_stats(numbers, warn_threshold=40, ok_threshold=60)
とすれば
判定基準を柔軟に変更できます。
今日のまとめ
今回学んだポイント
- 集計処理は 関数にまとめるとスッキリする
- 結果は dictで返すと扱いやすい
- 処理と表示を分けるとコードが強くなる
Pythonでは
処理 → 集計 → 判定 → 出力
という構造で書くと
読みやすく再利用できるコードになります。
次のステップ
次は
- 空リストのエラー処理
- ログレベルの拡張
- 表示フォーマットの関数化
などに進むと、より実務的なコードになります。
📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/


コメント