🟦Pythonログ関数の作り方|dictデータを1行ログにする方法【初心者向け】

Code

📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/


はじめに

Pythonでデータ処理を行うと、

  • 件数(count)
  • 合計(sum)
  • 平均(avg)
  • 判定(level)

などの結果を表示することがあります。

これまでの学習では

  • 数値の計算
  • dict にまとめる
  • for 文で取り出す

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

今回はその発展として

ログ出力を関数にまとめて再利用する方法

を学習します。

今回のゴール

今回の目標は次の3つです。

  • dict に入ったデータをログ形式で出力する
  • 1行のログを自動生成する
  • 何度でも使える関数としてまとめる

最終的には次のようなログを作ります。

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

使用するデータ

今回使用するデータはこちらです。

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

このデータには

項目意味
count件数
sum合計
avg平均
levelログレベル

が含まれています。


Pythonログ出力関数を作る

今回作る関数は

dictの中身をログ形式で表示する関数

です。

ポイントは次の3つです。

  • 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の中身をfor文で取り出す

for key, value in stats.items():

この書き方で

  • key(項目名)
  • value(値)

を同時に取り出せます。


② levelだけ表示方法を変える

if key != 'level':

level はすでに

[WARN]

として表示しているため、
二重表示を防いでいます。


③ ログ文字列を組み立てる

message += f"{key}={value} "

この処理で

count=20
sum=980
avg=49

というログの部品を作っています。


なぜログ関数を作るのか

ログ出力を関数にするメリットは次の通りです。

  • 同じコードを何度も書かなくてよい
  • 表示形式を一箇所で管理できる
  • ログ形式を変更しやすい

例えば、

log_stats(stats)

と書くだけで
同じ形式のログを何度でも出力できます。


今日の学習ポイント

今回学んだ重要なポイントです。

  • dictの中身は for 文で処理できる
  • key=value 形式はログの基本
  • ログ出力を関数にすると再利用しやすい
  • 「計算」と「表示」を分けるとコードが整理される

Pythonでは

計算 → 結果整理 → ログ出力

という構造でコードを書くと
読みやすく拡張しやすいプログラムになります。


次のステップ

次の学習としては

  • ログレベル(INFO / WARN / ERROR)の自動判定
  • ログをファイルに保存する
  • Pythonの logging モジュールを使う

などに進むと、さらに実用的になります。


📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/



コメント

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