Python で変数にアクセスしようとすると、「NameError: name is not定義」エラーが発生しますまたは、コード内で以前に宣言または定義されていないクラス。この問題に対処するには、変数とクラスの適切なスコープ設定と宣言が不可欠です。
提供したコード スニペットを調べてみましょう:
<code class="python">s = Something() s.out() class Something: def out(): print("it works")</code>
エラーは、Something クラスがは後に定義されており、それ自体のインスタンスを作成するために使用されています。 Python では、インタプリタはコードを 1 行ずつ解釈するため、「s = Something()」行が実行される時点では、Something クラスはまだ認識されていません。
この問題を解決するには、使用する前にクラスを定義してください。修正されたコードは次のとおりです。
<code class="python">class Something: def out(self): print("it works") s = Something() s.out()</code>
out メソッドの最初の引数として self も追加していることに注意してください。これは、特定のオブジェクト インスタンスを操作する Python のインスタンス メソッドに必要です。最初の引数として self を渡すことで、メソッドはインスタンス属性にアクセスし、オブジェクトの状態を変更できます。
これらの修正により、コードは NameError なしで実行され、期待どおりに「動作します」と出力されます。
以上がPython で「名前エラー: 名前が定義されていません」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。