カテゴリ: Python 更新日: 2026/08/28

Pythonのエラーと例外とは?初心者がよく出会うエラーとその対処法

Pythonのエラーと例外とは?初心者がよく出会うエラーとその対処法
Pythonのエラーと例外とは?初心者がよく出会うエラーとその対処法

先生と生徒の会話形式で理解しよう

生徒

「Pythonってどんなときにエラーが出るんですか?」

先生

「エラーは、プログラムの書き方が間違っていたり、実行中に問題が起きたときに出ますよ。」

生徒

「エラーって怖い感じがして苦手なんですけど、大丈夫ですか?」

先生

「大丈夫。どんなエラーがあるのかを知っておけば、落ち着いて対処できます。一緒に学んでいきましょう!」

1. エラーと例外の違いとは?

1. エラーと例外の違いとは?
1. エラーと例外の違いとは?

Pythonでは「エラー」と呼ばれるものに大きく分けて2種類あります。ひとつは文法エラー(構文エラー)、もうひとつは例外(実行時エラー)です。

文法エラーは、Pythonのルールに従っていないコードを書いたときに発生します。例えば、if文の後にコロン(:)を忘れたり、インデントを正しく揃えていなかったりすると出ます。プログラムは文法エラーがあると実行されません。

例外は、プログラムの実行中に思わぬ問題が起きたときに発生します。たとえば、0で割ろうとしたり、存在しないファイルを開こうとしたりするとエラーが出ます。例外は、コードの書き方自体は正しい場合でも、実行時の状況によって発生するので、予期しない動作を防ぐために知っておくことが重要です。

簡単な例を挙げると、次のコードは文法エラーになります。


if True
    print("こんにちは")

コロンが抜けているため、Pythonはここで止まってしまいます。一方、次のコードは例外の例です。


print(10 / 0)

この場合、文法は正しいですが、0で割っているため実行時にエラー(ZeroDivisionError)が発生します。初心者はまず、文法エラーと例外の違いを理解して、どちらのケースでも冷静に対処できるように意識することが大切です。

2. よくある文法エラーの例

2. よくある文法エラーの例
2. よくある文法エラーの例

文法エラーは、Pythonがコードを読んで「これでは実行できないよ」と止まってしまう状態です。初心者の方がよく遭遇するエラーの一つで、ちょっとした書き間違いでもプログラムは動きません。たとえば次のようなコードです。


if True
    print("こんにちは")

このコードでは、if文のあとにコロン(:)がないため、PythonはSyntaxErrorを返します。コロンを忘れるだけで処理が止まるので、初心者は特に注意が必要です。また、インデント(字下げ)が正しくない場合も文法エラーになります。

正しく書くと次のようになります。こうした小さなミスを理解して修正することが、Pythonをスムーズに学ぶ第一歩です。


if True:
    print("こんにちは")

3. よくある例外(実行時エラー)の例

3. よくある例外(実行時エラー)の例
3. よくある例外(実行時エラー)の例

例外とは、プログラムの実行中に予期しない問題が発生したときに起こるエラーのことです。初めてプログラミングを学ぶ方でも理解しやすいように、よく見かける例を具体的なサンプル付きで紹介します。これを知っておくと、エラーが出たときに原因を素早く見つけやすくなります。

ZeroDivisionError(ゼロ除算エラー)

0で割り算をしようとしたときに発生するエラーです。数学でも0で割ることはできないので、Pythonでも同じようにエラーになります。


print(10 / 0)

例えば上記のコードを実行すると「ZeroDivisionError: division by zero」というエラーが出ます。これは「0で割ろうとした」という意味です。

NameError(名前エラー)

まだ定義していない変数や関数を使おうとしたときに出るエラーです。プログラムがどの変数のことか分からないために発生します。


print(apple)

この場合、「apple」という変数を事前に作っていないのでエラーになります。変数名のスペルミスでも同じエラーが出ます。

TypeError(型エラー)

異なる種類のデータを不適切に組み合わせようとしたときに起こるエラーです。例えば文字列と数字をそのまま足そうとするとエラーになります。


print("年齢は" + 20)

上記のコードでは文字列と整数を足しているため「TypeError」が発生します。解決するには、整数を文字列に変換するなど、型を揃える必要があります。型の違いに注意することで、プログラムの動作を正しく制御できます。

4. エラーの内容をよく読もう

4. エラーの内容をよく読もう
4. エラーの内容をよく読もう

Pythonでは、プログラムを実行するときにエラーが発生すると、その原因を詳しく示すメッセージが表示されます。初心者でもこのメッセージを理解することで、どこで何が問題になっているのかを把握でき、効率よく修正できます。

たとえば、次のようなエラーメッセージが出ることがあります。


Traceback (most recent call last):
  File "main.py", line 1, in <module>
    print(10 / 0)
ZeroDivisionError: division by zero

この場合、「1行目で 0 で割ろうとしたためエラーが起きた」という意味です。Pythonではエラーの種類や発生場所が明確に表示されるので、まずは焦らずメッセージをよく読み、どの変数や処理で問題が起きているかを確認しましょう。

例えば別の簡単な例として、文字列を数値に変換する処理でもエラーが起きることがあります。


num = int("abc")
print(num)

この場合は「ValueError: invalid literal for int()」というエラーが表示され、「文字列 'abc' は整数に変換できない」という意味です。エラーメッセージを読むことで、どの値が問題か、どの処理が原因かをすぐに特定できるので、初心者でもトラブルシューティングが格段にしやすくなります。

5. エラーを見つけたらどうすればいい?

5. エラーを見つけたらどうすればいい?
5. エラーを見つけたらどうすればいい?

プログラムでエラーが出たときは、まず慌てずに落ち着きましょう。エラーメッセージを丁寧に読み、どの種類のエラーかを特定することが解決の第一歩です。初心者でも確認できるポイントを押さえて、効率的に修正しましょう。

  • SyntaxError → コロンやカッコ、インデントなど文法の間違いを見直す。例えば下記のPythonコードではコロンが抜けています:
    
    if old < 20
        print("20歳未満の方はご利用できません。")
                
    → コロンを追加すると正しく動きます。
  • NameError → 変数名のスペルや定義漏れを確認する。例えば以下のように変数が定義されていない場合に発生します:
    
    print(age)
                
    → 事前に age = 25 のように定義しておきます。
  • TypeError → 型の違いによるエラーです。数値と文字列を足そうとすると起きます:
    
    age = 20
    print("年齢は" + age)
                
    → この場合は str(age) を使って文字列に変換します。
  • ZeroDivisionError → 0で割る操作はできません。例えば:
    
    result = 10 / 0
                
    → 割る値が0でないか確認する必要があります。

もしエラーの原因がすぐにわからなくても、表示されるエラーメッセージをコピーしてGoogle検索すると、多くの解決例や参考記事が見つかります。特にエラーの種類や行番号を含めて検索すると、初心者でもスムーズに解決策にたどり着けます。

6. はじめのうちはエラーは出て当然!

6. はじめのうちはエラーは出て当然!
6. はじめのうちはエラーは出て当然!

初心者のうちは、エラーが出るのはごく自然なことです。むしろ、エラーが出るたびに「ここで何を学べるか」と考えることが、成長への近道になります。

たとえばPythonで簡単な計算をするとき、タイプミスをするとすぐにエラーが出ます。


print(10 / 0)  # 0で割るとエラーになります

この場合、Pythonは「ZeroDivisionError」というメッセージを出します。初心者は驚くかもしれませんが、こうしたエラーを読み解き、原因を探して修正する経験こそが、プログラミングスキルを伸ばす最も大事なステップです。

エンジニアでも毎日エラーと向き合っています。重要なのは、「なぜこのエラーが起きたのか」を考え、少しずつ解決する力をつけることです。最初はうまくいかなくても、挑戦を続けることで、必ず理解が深まります。

7. エラーを自分で試してみよう

7. エラーを自分で試してみよう
7. エラーを自分で試してみよう

最後に、自分でいろんなエラーをわざと出してみて、どんな表示になるのかを確認してみましょう。エラーの種類とメッセージを見て慣れていくと、少しずつ怖くなくなりますよ。

そして、エラーの英語メッセージも「なにが起こったか」を説明しているので、辞書などで少しずつ意味を知っていくと役立ちます。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのエラーと例外の違いは何ですか?初心者にもわかりやすく教えてください。

Pythonのエラーには大きく分けて「文法エラー(構文エラー)」と「例外(実行時エラー)」の2種類があります。文法エラーはコードの書き方が間違っているときに起こり、例外はプログラムの実行中に思いがけない事態が起こったときに発生します。

Pythonでよくある文法エラーにはどんなものがありますか?

Pythonの文法エラーでは、コロン(:)の付け忘れや、インデントのずれなどが多く見られます。たとえばif文のあとにコロンがない場合はSyntaxErrorというエラーになります。

Pythonで「SyntaxError」とは何を意味するエラーですか?

SyntaxError(構文エラー)は、Pythonの文法に違反したコードを書いたときに出るエラーです。コロンの抜けや記号のミス、インデントのずれなどが原因になります。
コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

関連記事:
Python の基本の記事一覧へ
新着記事
New1
Claude
ClaudeにPHPデバッグを相談するコツ!原因候補を仮説に分けて確認する質問例
New2
Python
PythonのCLIで対話型メニューを作る方法(prompt_toolkit)
New3
ChatGPT
ChatGPTでPHPコードを理解する方法!読めない処理をわかりやすく質問しよう
New4
PHP
PHP の定数(define, const)を使った設定方法を徹底解説!
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.2
Java&Spring記事人気No2
Python
Pythonのコンストラクタ(__init__)の使い方!初心者でもわかるオブジェクトの初期化
No.3
Java&Spring記事人気No3
PHP
PHP のフォームデータの受け取り($_POST, $_GET)を完全解説!初心者向けガイド
No.4
Java&Spring記事人気No4
Python
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.5
Java&Spring記事人気No5
Python
PythonでSQLiteを使う方法を完全ガイド!初心者でもわかるデータベース基本操作
No.6
Java&Spring記事人気No6
Python
Pythonのシェルスクリプトを自動実行する方法(cron & Task Scheduler)
No.7
Java&Spring記事人気No7
Claude
ClaudeにPHPリファクタリングを相談するコツ!目的・前提・制約を仕様メモにまとめるコツ
No.8
Java&Spring記事人気No8
PHP
PHPのMVCパターンを完全解説!初心者でもわかるModel・View・Controller