【Python】「NameError : name 変数名 is not define」の解決方法

こんにちは、にわこまです。

今回は、pythonのNameErrorの解決方法について紹介します。NameErrorはよくあるエラーであるため、解決する方法も簡単です。ひとつ1つ確認していくことで、すぐ解決することができます。

 

誤字脱字や分からない点、解決してほしい問題がありましたら、ご連絡お願いいたします。メールまたはTwitterのDMで受け付けています。

 

 

スポンサードサーチ


NameErrorの解決方法

1.スペルチェック

2.スコープの確認

 

以上の2点を行うことでNameErrorを解決することができます。

  

そもそも「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まで!

 

  

最後までお読みいただきありがとうございます。


スポンサードサーチ