TypeError: Missing 1 Required Positional Argument: 'self' が発生する理由
Python では、クラスを操作するときに例外が発生する可能性があります。クラスメソッドの呼び出し中。特定のエラー メッセージ「TypeError: Missing 1 required location argument: 'self'」は、メソッドを呼び出す前にクラスのインスタンスを作成するためのコンストラクター メソッドが適切に呼び出されなかったことを示します。
目的の理解of 'self'
'self' は、すべてのクラス メソッド (コンストラクター)。これはクラスのインスタンスを表し、その属性とメソッドへのアクセスを提供します。
コンストラクター呼び出し
クラス インスタンスを初期化するには、コンストラクター (__init__) メソッドを呼び出す必要があります。 。これを呼び出すには、ClassName() 構文を使用してオブジェクトを作成し、クラスをインスタンス化する必要があります。これにより、self 引数がインスタンスに割り当てられ、その属性と動作が初期化されます。
Clarity の例
次のコード スニペットを考えてみましょう:
class Pump: def __init__(self): print("init") def getPumps(self): pass p = Pump.getPumps() # Error: TypeError: getPumps() missing 1 required positional argument: 'self' print(p)
このコードでは、getPumps() を呼び出す前にコンストラクター (__init__) が呼び出されません。その結果、Pump クラスのインスタンスは作成されず、self 引数が欠落しているため、エラーが発生します。
解決策
問題を解決するには、まず次のことを行う必要があります。 Pump クラスのインスタンスを作成し、そのインスタンスで getPumps() メソッドを呼び出します。正しいコードは次のようになります。
p = Pump() p.getPumps() print(p)
最初にインスタンスを作成すると、self 引数が適切に割り当てられ、getPumps() メソッドを正常に呼び出すことができます。
以上が私の Python コードで「TypeError: Missing 1 Required Positional Argument: 'self'」がスローされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。