ホームページ  >  記事  >  バックエンド開発  >  Python で「名前エラー: 名前が定義されていません」というメッセージが表示されるのはなぜですか?

Python で「名前エラー: 名前が定義されていません」というメッセージが表示されるのはなぜですか?

DDD
DDDオリジナル
2024-11-01 10:37:30493ブラウズ

Why am I getting

Python での「NameError: 名前が定義されていません」の修正

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 サイトの他の関連記事を参照してください。

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