質問
NameError: name '鈴木' is not definedという内容のエラーが出ます。これはどんなエラーでしょうか?どうすればこのエラーが出なくなりますか?
入力した内容(コード)
name = 鈴木 age = 30 print(name) print(age)
出たエラー(実行結果)
Traceback (most recent call last): File "1.py", line 1, in <module> name = 鈴木 NameError: name '鈴木' is not defined
回答
これは'鈴木'
という未定義の変数を参照しているエラーですね。
NameErrorとはエラーの種類です。
NameError: name '鈴木' is not defined
はエラーが起こった原因を表しています。
日本語に訳すと「'鈴木'という名前が定義されていない」という意味になります。
入力したコードは鈴木
という単語が文字列なのにクォーテーションで囲まれていません。
もう一度確認してみてください。
NameError: name '鈴木' is not definedの解説
PythonのNameError: ... is not defined
エラーは定義されていない変数名を利用した場合に発生します。
NameError: ... is not defined
エラーが発生したら、変数名を打ち間違えていないか、変数を定義し忘れていないかチェックしましょう。
エラー2行目のFile "1.py", line 1, in <module>
を読んでみると以下のことがわかります。
File "1.py
…ファイル名1.py
のことを指していることがわかります。line 1
…1行目付近でエラーが起きたのかわかります。in <module>
…モジュールの中で発生したエラーであることがわかります。まずはエラーで指摘された1行目の前後を確認し、そこにエラーの原因があるかを確認しましょう。
構文エラーについてはこちらの記事でも解説しています。
PythonでNameErrorが出る時にチェックするといい、よくあるミス
- 変数を定義しているか
- スペルミスをしていないか(大文字、小文字を間違えていないか)
- 文字列がシングルクォーテーション(')かダブルクォーテーション(")のどちらかで囲まれているか
- クラスのメソッドにおいて第一引数にselfを書き忘れていないか
- インポートしていないreモジュールを使っていないか