0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python初心者】NameErrorとValueErrorの違いをやさしく整理してみた

0
Posted at

Python初心者にとっては NameErrorValueError は非常に間違いやすいエラーだと感じています。
私自身、どちらがどんなときに出るのか混乱していたので、例と一緒に1枚で整理してみました。

今回はこの2つのエラーの違いを、初心者向けにやさしくまとめた学習記録です。

🔍 NameErrorValueError の違い

エラー名 どんなときに起きる?
NameError 定義されていない変数や関数名を使おうとしたとき 存在しない変数を参照するなど
ValueError 型は合っているけれど、値の内容が不適切なとき 文字列 'abc'int() に変換するなど

🧪 NameError の例

print(x)
NameError: name 'x' is not defined

このエラーは「変数 x がどこにも定義されていないのに参照した」ために発生しています。
Pythonは 名前空間(namespace) から x を探しますが、見つからないので NameError になります。


🧪 ValueError の例

int("abc")
ValueError: invalid literal for int() with base 10: 'abc'

この場合は int() に文字列を渡すという操作自体は正しいですが、渡した 'abc' は整数に変換できない文字列なので 「値が不適切」 ということで ValueError になります。

✅ ポイントまとめ

  • NameError: 名前が存在していないときに発生
    • 定義していない変数や関数を呼び出したとき
  • ValueError: 値が不正なときに発生
    • 型はOKでも、内容が想定外(たとえば "abc" → int に変換できない)

📝 学んだこと・感想

NameError「変数名が存在しない」ValueError「値がヘン」というシンプルなルールで整理できることに気づきました。

今後もよく出るエラーはこうして違いをセットで覚えていきたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?