🟩 Python学習記録 #23|for文でログを1行にまとめて出力する

Code

はじめに

これまでの学習で、

  • count
  • sum
  • avg
  • level

といった 計算結果を変数で扱える ようになりました。

ただ、
毎回 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
}

ここでのポイントは、

  • 名前(label)
  • 中身(値)

をセットで管理できることです。


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']

1行のログにまとめる

log_line = " ".join(parts)
print(f"[INFO] {log_line}")

出力結果:

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

🎉
for文でログを自動生成できました。


今日のまとめ

  • 複数の結果は dict にまとめると扱いやすい
  • for文で「箱の中」を順番に処理できる
  • ログ形式は label=value が基本
  • join を使うと 1行ログが簡単に作れる

コメント

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