オブジェクト指向の最も重要な概念はクラスとインスタンスです。クラスは Student クラスなどの抽象テンプレートであり、インスタンスはクラスに基づいて作成されることに注意してください。特定の「オブジェクト」の場合、各オブジェクトには同じメソッドがありますが、それらのデータは異なる場合があります。
例として Student クラスを取り上げますが、Python ではクラスを定義するには class キーワードを使用します:
class Student(object): pass
class の後にクラス名 (Student) が続きます。通常、クラス名は大文字で始まります。(オブジェクト) が続く単語は、クラスがどのクラスから継承されるかを示します。継承の概念については後で説明します。通常、適切な継承クラスがない場合は、オブジェクト クラスが使用されます。これは、すべてのクラスが最終的に継承するものです。
Student クラスを定義した後、Student クラスに基づいて Student のインスタンスを作成できます。インスタンスの作成は、クラス名 ():
>>> bart = Student() >>> bart <__main__.Student object at 0x10a67a590> >>> Student <class '__main__.Student'>
変数によって実行されます。 bart は Student オブジェクトの場合、次の 0x10a67a590 がメモリ アドレスを指します。各オブジェクトのアドレスは異なり、Student 自体がクラスです。
属性をインスタンス変数に自由にバインドできます。たとえば、name 属性をインスタンス bart にバインドします:
>>> bart.name = 'Bart Simpson' >>> bart.name 'Bart Simpson'
クラスはテンプレートとして機能できるため、次のときにインスタンスを作成できます。その際、バインドする必要があると思われる属性を強制的に埋め込みます。特別な __init__ メソッドを定義すると、インスタンスの作成時に名前、スコア、その他の属性が関連付けられます。
class Student(object): def __init__(self, name, score): self.name = name self.score = score
__init__ メソッドの最初のパラメーターは常に self であり、インスタンス自体の作成を示します。したがって、self は作成されたインスタンス自体を指すため、__init__ メソッド内でさまざまなプロパティを self にバインドできます。
__init__ メソッドでは、インスタンスを作成するときに空のパラメーターを渡すことはできません。__init__ メソッドに一致するパラメーターを渡す必要がありますが、self を渡す必要はありません。Python インタープリター自体 インスタンス変数
>>> bart = Student('Bart Simpson', 59) >>> bart.name 'Bart Simpson' >>> bart.score 59
通常の関数と比較すると、クラスで定義された関数の違いは 1 つだけです。つまり、最初のパラメータは常にインスタンス変数 self であり、呼び出し時にパラメータを渡します。それ以外は、クラス メソッドは通常の関数と変わらないため、デフォルト パラメーター、変数パラメーター、およびキーワード パラメーターを引き続き使用できます。
関連する推奨事項: 「Python チュートリアル 」
以上がPythonのクラスとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。