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

Susan Sarandon
リリース: 2024-10-26 03:49:02
オリジナル
595 人が閲覧しました

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

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

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!