Python での自己紹介

PHPz
リリース: 2024-02-23 16:03:03
オリジナル
887 人が閲覧しました

Python での自己紹介

Python における self の紹介

Python では、self はクラス自体のインスタンス オブジェクトを表すために使用される特別なキーワードです。クラス メソッドでは、オブジェクトのプロパティとメソッドは self を通じて参照されます。 self パラメータは Python では必須ではないため、他の名前に置き換えることができますが、self を使用して表すのが一般的です。

クラス メソッドでは、現在のオブジェクトへの参照を示す self パラメータを最初のパラメータとして渡す必要があります。 self を通じて、クラスのプロパティとメソッドにアクセスし、他のメソッドを呼び出すことができます。

以下では、特定の例を通じて self の使用方法を説明します。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age
        
    def say_hello(self):
        print("Hello, my name is", self.name)
        print("I am", self.age, "years old.")

person = Person("Tom", 25)
person.say_hello()
ログイン後にコピー

上記のコードでは、name と age の 2 つの属性を含む Person クラスを定義し、say_hello メソッドを定義します。 Say_hello メソッドでは、self を通じてオブジェクトの属性 name と age を参照し、対応する情報を出力します。

次に、インスタンス オブジェクト person を作成し、say_hello メソッドを呼び出します。 Say_hello メソッドを呼び出すプロセスで、person オブジェクトへの参照が self パラメータとして自動的に渡されます。したがって、say_hello メソッド内の self.name は person オブジェクトの name 属性を表し、self.age は person オブジェクトの age 属性を表します。

上記のコードを実行すると、出力結果は次のようになります:

Hello, my name is Tom
I am 25 years old.
ログイン後にコピー

この例を通して、self を通じてクラスのプロパティとメソッドにアクセスできることがわかり、コードがより明確かつ簡単になります。理解すること。同時にクラス内でselfを通じて他のメソッドを呼び出すこともでき、メソッドの相互呼び出しを実現します。

クラス内のプロパティとメソッドを参照する場合、それらは self を通じて参照する必要があり、そうでない場合はエラーが報告されることに注意してください。たとえば、say_hello メソッドで、属性 name と age を参照するために self を使用せず、name と age を直接使用すると、エラー NameError: name 'name' is not generated が発生します。

Python では、属性と分類方法をより明確に区別するために、self を使用してクラスのインスタンス オブジェクトを表すのが従来の記述方法です。 self の代わりに他の名前を使用することもできますが、他の変数名やメソッド名との競合を避けるために、従来の self の記述方法を使用することをお勧めします。

要約すると、self は、クラス自体のインスタンス オブジェクトを表す Python のキーワードです。これにより、オブジェクトの参照がメソッドに渡され、オブジェクトのプロパティとメソッドにアクセスできるようになります。方法。 self を使用すると、コードがより明確で理解しやすくなり、クラスのメソッドを相互に呼び出すことができます。

以上がPython での自己紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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