ホームページ > バックエンド開発 > Python チュートリアル > Python のクラス メソッドとインスタンス メソッドの基本的な違いは何ですか?

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

Patricia Arquette
リリース: 2024-10-26 03:34:02
オリジナル
647 人が閲覧しました

What is the fundamental difference between Class and Instance Methods in 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート