ホームページ >バックエンド開発 >Python チュートリアル >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 サイトの他の関連記事を参照してください。