📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/
はじめに
Pythonでデータを処理するとき、
- count(件数)
- sum(合計)
- avg(平均)
など、複数の結果を扱うことがあります。
これまでの学習では
print(f"[INFO] count={count} sum={sum} avg={avg}")
のように、print()で直接ログを作ってきました。
しかし項目が増えると、
- 書き直しが増える
- コードが長くなる
という問題があります。
そこで今回は
複数のデータを自動的に1行ログにまとめる方法
を学習します。

今回使うデータ
まずはシンプルなデータを用意します。
count = 20
sum = 980
avg = 49
これまでのログ出力
print(f"[INFO] count={count} sum={sum} avg={avg}")
出力結果
[INFO] count=20 sum=980 avg=49
この方法でも問題ありませんが、
項目が増えるたびにコードを書き直す必要があります。
データを「ひとつの箱」にまとめる
そこで 辞書(dict) を使います。
stats = {
'count': count,
'sum': sum,
'avg': avg
}
辞書は
名前(key)と値(value)をセットで管理できるデータ構造
です。
| key | value |
|---|---|
| count | 20 |
| sum | 980 |
| avg | 49 |
for文でデータを順番に取り出す
辞書の中身は for 文で確認できます。
for label in stats:
print(label, stats[label])
出力結果
count 20
sum 980
avg 49
ここでは
辞書の中のデータを1つずつ取り出しています。
ログ用の文字列を作る
次にログの部品を作ります。
parts = []for label in stats:
parts.append(f"{label}={stats[label]}")
この時点で parts の中身は次のようになります。
['count=20', 'sum=980', 'avg=49']
joinで1行のログにまとめる
次に join() を使って1行のログにまとめます。
log_line = " ".join(parts)print(f"[INFO] {log_line}")
出力結果
[INFO] count=20 sum=980 avg=49
完成コード
count = 20
sum = 980
avg = 49stats = {
'count': count,
'sum': sum,
'avg': avg
}parts = []for label in stats:
parts.append(f"{label}={stats[label]}")log_line = " ".join(parts)print(f"[INFO] {log_line}")
今日のまとめ
今回学んだポイント
- 複数の結果は dict にまとめると扱いやすい
for文で 辞書の中身を順番に処理できる- ログ形式は label=value が基本
join()を使うと 1行ログを簡単に作れる
この方法を使うと、
ログ項目が増えてもコードをほとんど変更せずに対応できます。
次のステップ
次の学習としては
- ログレベル(INFO / WARN / ERROR)の自動判定
- 時刻付きログの作成
- ログ出力を関数化する
などに進むと、さらに実用的になります。
📚 Python学習ロードマップ
(初心者→ログ設計まで体系的に学べます)
https://run-ride-code.com/python-selfstudy-roadmap/


コメント