ホームページ >バックエンド開発 >Python チュートリアル >「getPumps()」を呼び出すと「TypeError: Missing Required 'self' Argument in Method Call」が発生するのはなぜですか?
TypeError: Missing Required 'self' Argument in Method Call
提示されたコード スニペットは、ポンプの getPumps() メソッドを呼び出そうとしています。最初にクラスのインスタンスを作成せずにクラスを作成します。これにより、次のエラーが発生します:
TypeError: getPumps() missing 1 required positional argument: 'self'
コンストラクターとメソッドの引数について
Python では、クラス内でメソッドを定義するとき、最初の引数は常に self です。 、現在のオブジェクト インスタンスを参照します。これは、メソッドがインスタンス固有のデータにアクセスして操作する方法です。
__init__() による初期化
__init__() メソッドは、インスタンスが作成されたときに呼び出されるコンストラクター メソッドです。クラスが作成されます。これは、オブジェクトの内部状態を初期化するために使用されます。
インスタンスでのメソッドの呼び出し
オブジェクトでメソッドを呼び出すには、最初にオブジェクトを作成する必要があります。これには、p = Pump() のように、かっこを付けてクラス名を呼び出して、新しいオブジェクトを作成することが含まれます。その後のみ、そのインスタンスで p.getPumps() などのメソッドを呼び出すことができます。
Code Update
エラーを解決するには、次のインスタンスを作成する必要があります。 getPumps() を呼び出す前に、Pump クラスを呼び出します。更新されたコード:
class Pump: def __init__(self): print("init") def getPumps(self): pass # Create an instance of the Pump class p = Pump() # Now call the getPumps() method p.getPumps()
追加の例
わかりやすくするために、より詳細な例を次に示します:
class TestClass: def __init__(self): print("init") def testFunc(self): print("Test Func") # Create an instance of the test class testInstance = TestClass() # Call the testFunc() method on the instance testInstance.testFunc()
出力:
init Test Func
以上が「getPumps()」を呼び出すと「TypeError: Missing Required 'self' Argument in Method Call」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。