🟦Python関数の基本|処理を関数にまとめて結果を返す方法【初心者向け】

Python

📚 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/


コメント

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