ホームページ >バックエンド開発 >Python チュートリアル >Python のクラス メソッドとインスタンス メソッドの基本的な違いは何ですか?
Python のクラス メソッドとインスタンス メソッドの違いを理解する
インスタンス メソッドはオブジェクト指向プログラミング (OOP) で一般的に使用され、関連付けられています。個々のインスタンスまたはオブジェクトを使用します。 Python では、インスタンス メソッドは、メソッドが呼び出されるクラスのインスタンスを表す self パラメータを最初の引数として受け取ります。このパラメーターを使用すると、メソッドがインスタンスのデータと属性にアクセスして変更できるようになります。
たとえば、introduction() という名前のインスタンス メソッドを持つ次のクラスを考えてみます。
<code class="python">class InstanceExample: def __init__(self, name): self.name = name def introduce(self): print(f"Hello, I'm {self.name}!")</code>
このシナリオでは、 include() メソッドは、InstanceExample クラスのインスタンスで呼び出され、self パラメータとして渡されます。
一方、クラス メソッドは、個々のインスタンスではなく、クラス自体に関連付けられます。これらは、メソッドが属するクラスを表す cls パラメータを最初の引数として受け取ります。クラス メソッドは通常、クラスの属性の作成や変更など、クラス自体に関連する操作に使用されます。
Python のクラス メソッドの図を次に示します。
<code class="python">class ClassExample: class_attribute = 10 @classmethod def set_class_attribute(cls, value): cls.class_attribute = value</code>
この場合、 set_class_attribute() メソッドは、インスタンスを必要とせずに、クラス名を使用して呼び出すことができます。これにより、クラス属性 class_attribute を変更できます。
Python OOP ではクラス メソッドとインスタンス メソッドの区別が重要であり、オブジェクト指向プログラミングの概念を効果的に使用するには、self パラメーターと cls パラメーターの役割を理解することが不可欠です。
以上がPython のクラス メソッドとインスタンス メソッドの基本的な違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。