ホームページ >バックエンド開発 >Python チュートリアル >Python オブジェクト指向プログラミングにおける「self」と「__init__」とは何ですか?

Python オブジェクト指向プログラミングにおける「self」と「__init__」とは何ですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-26 08:00:14911ブラウズ

What are `self` and `__init__` in Python Object-Oriented Programming?

Python OOP の init と self を理解する

Python でオブジェクト指向プログラミング (OOP) を学習する場合、 init メソッドと self 変数が発生する可能性があります。これらの概念は、クラス定義とオブジェクトのインスタンス化において重要な役割を果たします。

self とは何ですか?

Python OOP では、self は、クラス。これは、例に示すように、通常、インスタンス メソッドおよび関数の最初のパラメーターとして使用されます。

def method(self, blah):
    # ...

self 変数は、クラスの現在のインスタンスへの参照です。これにより、メソッド内のインスタンスの属性とメソッドにアクセスできるようになります。明示的に自己を宣言しない場合、メソッドは 2 つの引数ではなく 1 つの引数のみを受け入れます。

__init__ とは何ですか?

init メソッドは特殊です。クラスのコンストラクターとして機能するメソッド。このクラスのオブジェクトが作成されると、自動的に呼び出されます。その目的は、インスタンスの属性を初期化し、必要なクラス プロパティを設定することです。

例:

class A(object):
    def __init__(self):
        self.x = 'Hello'

    def method_a(self, foo):
        print(self.x + ' ' + foo)

この例では、init メソッドがインスタンスを初期化します。属性 x の値は「Hello」です。次に、method_a メソッドは、foo パラメータと連結された x の値を出力します。

init と self

両方の init と self は、Python の OOP の重要なコンポーネントです。これらにより、オブジェクトが状態 (属性) と、その状態で動作するメソッドを持つことができます。 self がなければ、メソッド内のインスタンス固有の属性やメソッドにアクセスすることは不可能になります。同様に、init メソッドがなければ、オブジェクトの作成時にインスタンス属性を初期化することはできません。

以上がPython オブジェクト指向プログラミングにおける「self」と「__init__」とは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。