カテゴリー
生活

【AI×主夫のプログラミング学習はじめました】評価のタイミング

順番に書いているつもりなのに、なぜか「未定義」と言われてしまう。そんな小さなつまずきの多くは、変数がいつ評価されるかを知らないことが原因です。評価のタイミングを理解すると、コードの見え方が大きく変わります。

こんにちは、koyukaisa.workの真田夕起です!

この記事では、プログラミング初心者である主夫がAIを活用しながら学んでいく過程を記録しています。試行錯誤しながら習得した知識や工夫を共有し、同じく学習中の方々のヒントになればと思います。一緒に楽しみながら成長していきましょう!

Python の学習過程で私自身がつまずいた点や、「なぜそうなるのか?」と疑問に感じた部分を、理屈ベースで整理したノートをブログ用に再構成したものです。


1. 評価とは何か

プログラム内で 変数の値が決定され、利用可能になるタイミング を指す。
評価が行われることで、変数や関数の結果を他の処理へ渡すことができる。

2. 順次実行と評価

プログラムは 上から順に実行される
そのため、後続の処理は、前の処理で評価された値を利用できる。

例として、次のコードでは num_iterations が先に評価される。

num_iterations = len(rainbow)  # ここで評価が完了し、整数値として保持される
for i in range(num_iterations):  # すでに評価された整数を range() に渡す
    print(rainbow[i])

3. 評価の影響

  • 事前に評価された変数は後の処理で使用できる
  • 変数を使うことで数値を柔軟に変更できる
  • 評価のタイミングを誤ると、未定義の変数を参照してエラーが発生する

4. 誤った評価タイミングの例

次のコードは、num_iterations を評価する前に使用しているためエラーになる。

for i in range(num_iterations):  # num_iterations の評価前なのでエラー
    num_iterations = len(rainbow)  # この評価が遅すぎる

修正後は次のようになる。

num_iterations = len(rainbow)  # 事前に評価を完了
for i in range(num_iterations):  # 正しく評価された変数を使用
    print(rainbow[i])

評価のタイミングを意識することで、未定義エラーを防ぎつつ、柔軟で読みやすいコードを書くことができる。


今回の記事では、私が学習の中で特に引っかかったポイントを整理しました。もし同じ部分で悩んでいる方がいれば、コメントなどで気軽に教えてください。

今後も、学習過程で得た気づきや誤解の修正を、ノートとして残していく予定です。

作成者: 真田夕起

koyukaisa.work」管理者の真田夕起(サナダ ユウキ)です。

北海道札幌市に住む専業主夫として、妻(看護師)と3人の娘(大学3年生、専門学校2年生、小学5年生)と一緒に暮らしています。長年白石区に住んでいましたが、2025年8月から西区民になりました。家事や育児、教育、遊び、創作について、男目線からのユニークな視点で発信しています。

YouTubeチャンネルはこちら」と「X (Twitter)」「Instagram」「facebook」の登録もお待ちしています。

趣味:
・かたづけ
・ガーデニング
・ギター練習
・カラオケ
・英語学習
・ぬいぐるみ作り
・パソコン・プログラミング学習
・ゲーム

アレルギー:
ほぼ一年中、花粉や埃、ダニ、猫などに悩まされています。特に春が辛く、果物(特にりんご、桃、さくらんぼ)や豆乳にも反応します。抗ヒスタミン薬と解熱・鎮痛薬が手放せません。新型コロナウイルスによるマスク生活が意外にもアレルギー対策に効果的で、今では外出時にマスクが欠かせません。

その他:
・牛乳が大好きですが、温めないと消化が難しいです。
・幼少期は運動が好きでしたが、最近は運動不足で体を痛めることが増えました。ぎっくり腰をきっかけに、腹筋を意識するようになりましたが、さらに腰痛対策としてEMS、ウォーキング、ストレッチを取り入れています。
・基本的にインドア派ですが、ガーデニングや外でのバーベキューが好きです。折り紙、ブロック、プラモデルも楽しんでいます。

性格とお願い:
・人見知りでさみしがり屋ですが、ブログの高評価や拡散、お気に入りブックマーク登録をお願いします!
・普段から怒りっぽく心が狭いところがありますので、悪評や低評価、気に入らないコメントは控えていただけると助かります。

tig@koyukaisa.work*メールアドレスはスパム対策のため変更の可能性があります。返信は遅れる場合があります。

ご支援のお願い:
さらに充実したコンテンツをお届けするために、皆さまからのご支援をお待ちしております。詳細は「こちらのページ」をご覧ください。いつも応援ありがとうございます!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です