ホームページ >バックエンド開発 >Python チュートリアル >Python でクラス メソッドを呼び出すときに「TypeError: Missing 1 required location argument: self」というメッセージが表示されるのはなぜですか?

Python でクラス メソッドを呼び出すときに「TypeError: Missing 1 required location argument: self」というメッセージが表示されるのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-28 19:11:22179ブラウズ

Why Am I Getting

エラー: メソッド呼び出しに自己がありません

クラス メソッドにアクセスしようとすると、開発者は「TypeError: Missing 1 required」というエラーが発生することがあります。位置引数: self。」この例外は、メソッド呼び出しに self パラメーターが欠落していることを示します。これは、Python のオブジェクト指向プログラミングの重要なコンポーネントです。

self について

Python では、selfパラメータは、メソッドを呼び出しているクラスのインスタンスを指します。これは、特定のオブジェクトの属性とメソッドへの参照を提供し、メソッドがオブジェクト固有のデータを操作およびアクセスできるようにします。

__init__ の役割

__init__ メソッド、一般にコンストラクターと呼ばれるこの関数は、クラスのオブジェクトが作成されるときに自動的に呼び出されます。その主な目的は、オブジェクトの属性を初期化して設定し、適切な初期化を保証することです。ただし、提供されたコード スニペットでは:

p = Pump.getPumps()

The Missing self

Pump のインスタンスを作成し、そのインスタンスで getPumps を呼び出す代わりに、コードは直接呼び出します。 Pump.getPumps()、__init__ メソッドをバイパスし、その結果、本質的な self が欠落しますパラメータ.

インスタンスの作成

クラス メソッドを正しく利用するには、まずクラスのインスタンスを作成する必要があります。これには、以下に示すように、クラス名の後にかっこを使用することが含まれます。

p = Pump()
p.getPumps()

インスタンスを作成し、そのインスタンスで getPumps を呼び出すことにより、メソッドは self パラメーターにアクセスできるようになり、オブジェクトのデータに正しくアクセスできるようになります。およびメソッド。

以上がPython でクラス メソッドを呼び出すときに「TypeError: Missing 1 required location argument: self」というメッセージが表示されるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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