クラス メソッドとインスタンス メソッド
Python の PEP 8 スタイル ガイドでは、インスタンス メソッドの最初の引数に "self" を使用し、クラスに "cls" を使用することを推奨しています。メソッドの最初の引数。これら 2 種類のメソッドの区別を理解することは、効果的なオブジェクト指向プログラミングにとって重要です。
インスタンス メソッドは、クラスの特定のインスタンスに関連付けられます。これらはインスタンスのデータを操作し、通常は最初の引数として「self」を受け取ります。 object.method() などのインスタンス メソッドにアクセスすると、インスタンスは自動的にメソッドに渡されます。
たとえば、次のクラス定義を考えてみましょう。
<code class="python">class Person: def __init__(self, name): self.name = name def greet(self): print("Hello, my name is", self.name)</code>
ここ, 「greet()」は、「object.greet()」を使用して「person」クラスの任意のインスタンスで呼び出すことができるインスタンス メソッドです。
クラス メソッド、一方、個々のインスタンスではなくクラス自体に関連付けられます。これらは、クラスを表す「cls」を最初の引数として受け取ります。クラス メソッドは、新しいインスタンスの作成やクラス レベルのデータへのアクセスなど、クラス全体に関連するタスクに使用されます。
次のコード スニペットは、クラス メソッドを示しています。
<code class="python">class Math: @classmethod def sum(cls, a, b): return a + b</code>
「Math.sum()」メソッドは、加算されて返される 2 つの引数を受け取ります。これはクラス メソッドであるため、Math.sum(1, 2) として直接呼び出して結果を取得できます。
インスタンス メソッドとクラス メソッドの違いを理解することで、開発者はオブジェクトの全機能を効果的に活用できます。 Python による 指向プログラミング。
以上がPython のインスタンス メソッドとクラス メソッドの違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。