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

Python でクラスを使用すると「名前エラー: 名前が定義されていません」というエラーが発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-31 03:06:02689ブラウズ

Why Am I Getting a

Python NameError: 未定義クラスのトラブルシューティング

Python で「NameError: 名前が定義されていません」エラーが発生した場合、多くの場合、プログラムは、定義またはインポートされていない変数またはクラスを使用しようとしています。この例では、コードは次のエラーを示しています。

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

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

エラーの説明:

何かのクラス定義は、何かの新しいインスタンス。これは、インタプリタが s = Something() 行に到達した時点で、クラス Something がまだ定義されていないことを意味します。

解決策:

この問題を解決するには、次のようにします。クラスを使用する前に、必ずクラスを定義する必要があります。この場合、クラス定義を、Something インスタンスを作成する行の前に移動します:

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

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

Passing Self to Instance Methods:

提供されたコードでは、 out メソッドには self パラメータがありません。クラスのインスタンス メソッドには、クラス自体のインスタンスを表す最初の引数として self が必要です。これを修正するには、out メソッド定義を変更して self:

<code class="python">class Something:
    def out(self):
        print("it works")</code>
を含める必要があります。

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

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