【Python】「NameError : name 変数名 is not define」の解決方法
こんにちは、にわこまです。
今回は、pythonのNameErrorの解決方法について紹介します。NameErrorはよくあるエラーであるため、解決する方法も簡単です。ひとつ1つ確認していくことで、すぐ解決することができます。
誤字脱字や分からない点、解決してほしい問題がありましたら、ご連絡お願いいたします。メールまたはTwitterのDMで受け付けています。
スポンサードサーチ
NameErrorの解決方法
1.スペルチェック
2.スコープの確認
以上の2点を行うことでNameErrorを解決することができます。
そもそも「NameError」とは、「その名前は定義されていません」というエラーです。
Python NameErrorの公式ドキュメントはこちら
例えば「NameError: name ‘user’ is not define」というエラーが発生したとします。このエラーが指しているのは、「userという名前は定義されていません」ということです。
エラーのサンプルコード1(スペルチェック)
NameErrorが発生するサンプルコードとその実行結果を以下に示します。
user = "Niwakoma"
print(usr)
=== 実行結果 ===
Traceback (most recent call last):
File "is_not_define.py", line 2, in <module>
print(usr)
NameError: name 'usr' is not defined
2行目の「print(usr)」のusrが定義されていないというエラーが発生しました。これはスペルチェックによって解決することができます。
1行目で定義したのは「user」であるため、2行目の「usr」を「user」に変えることで解決できます。
エラーを解決したサンプルコードとその実行結果を以下に示します。
user = "Niwakoma"
print(user)
=== 実行結果 ===
Niwakoma
エラーのサンプルコード2(スコープ)
NameErrorが発生するサンプルコードとその実行結果を以下に示します。
def setJob():
job = "Blogger"
setJob()
print(job)
=== 実行結果 ===
Traceback (most recent call last):
File "is_not_define2.py", line 5, in <module>
print(job)
NameError: name 'job' is not defined
setJob関数のなかでjob変数を定義していますが、関数内で定義された変数は関数内でしたか使用できないため、エラーが発生しています。
関数だけでなく、クラスも同じで、その中で定義された変数はその中でしか使用できません。
エラーを解決したサンプルコードとその実行結果を以下に示します。
def setJob():
job = "Blogger"
return job
job = setJob()
print(job)
=== 実行結果 ===
Blogger
まとめ
今回は、Pythonのエラーの1つであるNameErrorの解決方法を紹介しました。NameErrorは比較的起こりやすいエラーであるため、解決方法も難しくありません。
改めて解決方法を以下に示します。
1.スペルチェック
2.スコープの確認
解決してほしい問題などがありましたらメールまたはTwitterのDMまで!
最後までお読みいただきありがとうございます。
スポンサードサーチ