NameError: name ‘xxx’ is not defined | Python用語辞典

Python独学ならTech-Joho TOP > Python用語辞典 > NameError: name ‘xxx’ is not defined

Pythonのプログラムをつくっていて、”NameError: name ‘xxx’ is not defined”というエラーの意味や、このエラーが表示されたときのなおし方についてのページです。

エラーの全体は、このような内容になっているはずです。

Traceback (most recent call last):
module __main__ line 145
traceback.print_exc()
module <module> line 10
NameError: name ‘xxx’ is not defined

このうち、重要なのは一番最後の行です。

このxxxの部分は人によって違うと思いますので、実際のエラーにある内容に置き換えて考えて下さい。

エラーの意味

NameErrorは日本語にすると名前のエラー。

つまり、変数の名前に関するエラーです。

name ‘xxx’ is not definedの意味は、xxxという名前の変数が定義されていませんという意味です。

考えられる原因となおし方

1 変数名の書き間違い

恐らく、一番ありがちなのは、定義してある変数を間違った変数名で呼び出そうとしている場合です。

変数 xxを定義したのに、xxxに代入しようとしている、

変数pictureの綴りを間違えて、pictuleになっている等です。

2 変数がない

本当に定義されていない変数に値を代入しようとしている場合もあります。

コピペを駆使してプログラムを作っている時に、起こりがちです。

そのようなときは、エラーの下から2行目を見て、エラーが発生している箇所を突き止めましょう。

module <module> line 10

このような場合、line 10、つまり1行目でエラーが発生しています。

10行目より上で、変数(例のエラーの場合xxx)を定義しましょう。