NameError: name 'x' is not defined
Pythonで定義されていない変数や関数を使用した際のエラー
概要
Pythonで定義されていない変数、関数、クラスなどの名前を参照しようとした際に発生するエラーです。
エラーメッセージ
NameError: name 'x' is not defined
NameError: name 'my_function' is not defined
原因
- 変数の定義忘れ: 変数を使用する前に定義していない
- タイプミス: 変数名や関数名のスペルミス
- スコープの問題: 関数内で定義した変数を外から参照
- インポート忘れ: モジュールや関数をインポートしていない
- 定義順序: 関数を定義する前に呼び出している
解決策
1. 変数を使用前に定義
| |
2. スペルミスを確認
| |
3. スコープを理解する
| |
4. モジュールをインポート
| |
5. 定義順序を確認
| |
6. 条件分岐での定義
| |
7. リスト内包表記のスコープ
| |
よくある間違い
True/Falseをtrue/falseと書く(JavaScriptとの混同)Noneをnullと書く- ビルトイン関数名を上書きしてしまう(
list = [1, 2, 3]など)
関連エラー
参考リンク
Python の他のエラー
この記事は役に立ちましたか?