Python のクラス メソッドとインスタンス メソッドを理解する
クラス メソッドとインスタンス メソッドは、オブジェクトがそれぞれどのように相互作用するかを定義するオブジェクト指向プログラミングの基本概念です。他の人とそのクラス。これら 2 種類のメソッドの違いを詳しく見てみましょう。
インスタンス メソッド
インスタンス メソッドは、クラスの特定のインスタンスに関連付けられています。これらは、それを呼び出したインスタンス上で排他的に動作するアクションまたは動作を表します。インスタンス メソッドを作成する場合、その最初のパラメータは常に self にする必要があります。これは、メソッドを呼び出す現在のインスタンスを参照します。このパラメータは、メソッドが動作するインスタンスのプレースホルダとして機能します。
たとえば、次のクラスについて考えてみましょう。
<code class="python">class Person: def __init__(self, name): self.name = name def introduce(self): print("Hello, my name is", self.name)</code>
introduc() メソッドは、 self 以外のパラメータはありません。 Person クラスをインスタンス化してこのメソッドを呼び出すと、その特定のインスタンスが操作され、その名前が表示されます。
クラス メソッド
インスタンス メソッドとは対照的に、クラス メソッドは特定のインスタンスではなく、クラス自体に関連付けられます。これらにより、クラスに対してアクションを実行したり、その属性に直接アクセスしたりすることができます。クラス メソッドの最初のパラメータは cls で、それが属するクラスを参照します。
次の例を考えてみましょう。
<code class="python">class Factory: @classmethod def create_product(cls): return cls("Product")</code>
create_product() メソッドは、次のことを行うクラス メソッドです。インスタンスは必要ありません。指定されたパラメーターを使用してクラスを呼び出して、新しい製品オブジェクトを作成します。クラス メソッドを使用すると、オブジェクトをインスタンス化することなく、クラス属性にアクセスして変更できます。
結論
クラス メソッドとインスタンス メソッドの区別を理解することは、効果的で保守しやすいオブジェクト指向コードを設計します。インスタンス メソッドを使用すると、クラスのインスタンスに独自の動作を持たせることができます。一方、クラス メソッドは、クラスを直接操作する方法を提供し、柔軟性とコードの再利用性を提供します。
以上がPython のクラス メソッドとインスタンス メソッドの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。