こんにちは、koyukaisa.workの真田夕起です!
この記事では、プログラミング初心者である主夫がAIを活用しながら学んでいく過程を記録しています。試行錯誤しながら習得した知識や工夫を共有し、同じく学習中の方々のヒントになればと思います。一緒に楽しみながら成長していきましょう!
Python の学習過程で私自身がつまずいた点や、「なぜそうなるのか?」と疑問に感じた部分を、理屈ベースで整理したノートをブログ用に再構成したものです。
プログラミングを学び始めたとき、多くの人が最初にぶつかる壁があります。 それは、「コードは書いた順番どおりに実行される」という、あまりにも当たり前すぎるルールです。
人間は文章を読むとき、前後の文脈を補いながら意味を推測できます。 しかしコンピュータは違います。 読んだ瞬間に実行し、必要なものが揃っていなければ容赦なくエラーを返す。
この“順次実行”の感覚をつかめるかどうかで、コードの理解は大きく変わります。 この記事では、初心者がつまずきやすい「順番」のルールを整理しながら、 なぜエラーが起きるのか、どう考えればよいのかを丁寧にまとめていきます。
1. プログラムは“上から下に”しか実行されない
プログラミングの基本は「順次処理」。
つまり、コードは1行ずつ、上から下へ 実行される。
人間は文章を読むとき、前後の文脈を補って意味を推測できる。
しかしコンピュータはそれができない。
読んだ瞬間に実行し、必要なものがなければ即エラー になる。
📌 例
a = 1
b = a + 2 # OK。aはすでに定義されている
b = a + 2
a = 1
➡️ NameError: name ‘a’ is not defined
2. 関数は「定義しただけ」では動かない
関数の定義はあくまで“準備”。
中にどんな処理が書かれていても、呼び出されるまで実行されない。
📌 例
def calc():
return x + 10
# まだ x が定義されていなくてもエラーにはならない
しかし…
print(calc()) # ←ここで初めてエラー:x が未定義
3. 実行時に必要なものが揃っていないとエラー
関数や演算に使われる変数・関数は、
呼び出す“その瞬間”に使える状態である必要がある。
📌 例
def show():
return value + 1
value = 100
print(show()) # OK
逆に…
print(show())
value = 100
➡️ NameError: name ‘value’ is not defined
4. 人間がよくやる“順番の勘違い”
- 「後で定義されてるし大丈夫」と思ってしまう
- 順番を無視しても“意味は通る”と感じてしまう
- プログラムが「読む=実行」であることを忘れがち
人間の読み方とコンピュータの実行方式が違うために起きる典型的な錯覚。
5. 対策:読むことはそのまま実行である
順次実行のつまずきを避けるためには、次の意識が役に立つ。
- 変数や関数は「使う前に必ず定義」する
- うまく動かないときは、実行順を追いかける
- ややこしいときは、紙に実行順を書き出すのも効果的
6. まとめ:読むことと実行することは同時に起きている
人はコードを“読む”けれど、コンピュータはコードを“実行”する。
この違いを理解できると、エラーの原因が見えやすくなり、
コードの読み方そのものが変わってくる。
今回の記事では、私が学習の中で特に引っかかったポイントを整理しました。もし同じ部分で悩んでいる方がいれば、コメントなどで気軽に教えてください。
今後も、学習過程で得た気づきや誤解の修正を、ノートとして残していく予定です。
