「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python が「NameError: 名前が定義されていません」エラーをスローするのはなぜですか?

Python が「NameError: 名前が定義されていません」エラーをスローするのはなぜですか?

2024 年 11 月 24 日に公開
ブラウズ:911

Why Does Python Throw a \

Python の NameError: 明確なデバッグ

Python で「NameError: 名前が定義されていません」エラーが発生するとイライラしてしまい、コードの実行が妨げられることがあります。このエラーの背後にある原因を調査し、効果的な解決策を見つけてみましょう。

このエラーは、Python が不明な変数またはクラスへの参照を検出したときに発生します。提供されたコード:

s = Something()
s.out()

class Something:
    def out():
        print("it works")

インタプリタは、 s 変数が定義された後、Something クラスへのアクセスを試みます。ただし、Python では、使用前にクラス定義を作成する必要があります。そうしないと、インタプリタはそれらを認識できません。

この状況を修正するには、使用する前に Something クラスを再定義します。

class Something:
    def out(self):
        print("it works")

s = Something()
s.out()

このエラーのもう 1 つの共通点は、インスタンス メソッドの定義に関係しています。インスタンス メソッドには、インスタンス自体を表す最初の引数として self が必要です。インスタンス メソッドを定義するときは必ず self を含めてください:

class Something:
    def out(self):
        print("it works")
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3