「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python のインスタンス メソッドとクラス メソッドの違いは何ですか?

Python のインスタンス メソッドとクラス メソッドの違いは何ですか?

2024 年 11 月 6 日に公開
ブラウズ:550

What is the difference between instance methods and class methods in Python?

クラスとインスタンス メソッド

Python の PEP 8 スタイル ガイドでは、インスタンス メソッドの最初の引数に "self" を使用し、クラスに "cls" を使用することを推奨しています。メソッドの最初の引数。これら 2 種類のメソッドの違いを理解することは、効果的なオブジェクト指向プログラミングにとって重要です。

インスタンス メソッド

インスタンス メソッドは、クラスの特定のインスタンスに関連付けられます。これらはインスタンスのデータを操作し、通常は最初の引数として「self」を受け取ります。 object.method() などのインスタンス メソッドにアクセスすると、インスタンスは自動的にメソッドに渡されます。

たとえば、次のクラス定義を考えてみましょう:

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        print("Hello, my name is", self.name)

ここで、「greet()」はインスタンス メソッドで、「object.greet( )".

クラス メソッド

一方、クラス メソッドは、個々のインスタンスではなくクラス自体に関連付けられます。これらは、クラスを表す「cls」を最初の引数として受け取ります。クラス メソッドは、新しいインスタンスの作成やクラス レベルのデータへのアクセスなど、クラス全体に関連するタスクに使用されます。

次のコード スニペットは、クラス メソッドを示しています。

class Math:
    @classmethod
    def sum(cls, a, b):
        return a   b

「Math.sum()」メソッドは、加算されて返される 2 つの引数を受け取ります。これはクラス メソッドであるため、Math.sum(1, 2) として直接呼び出して結果を取得できます。

インスタンス メソッドとクラス メソッドの違いを理解することで、開発者はオブジェクトの全機能を効果的に活用できます。 Python での - 指向プログラミング。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3