ホームページ >バックエンド開発 >Python チュートリアル >Python が「NameError: 名前が定義されていません」エラーをスローするのはなぜですか?

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

Susan Sarandon
Susan Sarandonオリジナル
2024-10-29 20:55:02587ブラウズ

Why Does Python Throw a

Python の NameError: 明確なデバッグ

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

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

<code class="python">s = Something()
s.out()

class Something:
    def out():
        print("it works")</code>

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

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

<code class="python">class Something:
    def out(self):
        print("it works")

s = Something()
s.out()</code>

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

<code class="python">class Something:
    def out(self):
        print("it works")</code>

以上がPython が「NameError: 名前が定義されていません」エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。