ホームページ >バックエンド開発 >Python チュートリアル >Python で「TypeError: Missing 1 Required Positional Argument: 'self'」エラーが発生するのはなぜですか?
「TypeError: Missing 1 Required Positional Argument: 'self'」エラーを理解する
Python でクラスとオブジェクトを操作する場合、次のようなエラー メッセージが表示される場合があります:
TypeError: Missing 1 required positional argument: 'self'
このエラーは次の場合に発生します。 self パラメータを指定せずにクラス メソッドを呼び出した場合。すべてのクラス メソッドは、最初の引数として self パラメーターを必要とします。
Python によるクラスの初期化方法
このエラーを理解するには、次のことを理解しておくことが重要です。クラスの場合、コンストラクター メソッド (__init__) が自動的に呼び出されます。このメソッドは、オブジェクトの属性の初期化を処理します。
クラス メソッドの呼び出し
オブジェクトが作成されたら、そのメソッドを呼び出すことができます。これらのメソッドは、オブジェクトの属性と機能にアクセスできます。ただし、すべてのクラス メソッドには、メソッドが呼び出されるクラスのインスタンスを参照する self パラメータが必要であることに注意してください。
エラーのトラブルシューティング
コード例:
class Pump: def __init__(self): print("init") def getPumps(self): pass p = Pump.getPumps() # Error here print(p)
self 引数を指定せずに getPumps() を呼び出すと、エラーが発生します。これを修正するには、まず Pump クラスのインスタンスを作成し、次にそのインスタンスで getPumps() メソッドを呼び出す必要があります。
p = Pump() p.getPumps()
これで、インスタンスの作成時に __init__ コンストラクターが呼び出されます。 getPumps() メソッドは self パラメータにアクセスできるようになり、クラスの特定のインスタンスを操作できるようになります。
以上がPython で「TypeError: Missing 1 Required Positional Argument: 'self'」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。