Python学習--オブジェクト向けプログラミング(基礎編)

1700 ワード

この文章は筆者がpythonのオブジェクト向けプログラミングを学ぶまとめである.主にいくつかの基礎的な知識です.
1.オブジェクト向けプログラミングOOP
クラスclassは、属性とメソッドをカプセル化したデータ構造です.OOPではクラスが主に適用されるデータ構造である.インスタンスはクラスの実際の例です.pythonでは、クラスはオブジェクトであり、実力もオブジェクトです.クラスは、独自のプロパティを持つモデル製造機であると理解できます.製造されたモデルは、製造機の例であり、独自の属性を持っている.
2.クラスの宣言:
pythonでの宣言と定義は、pythonがプログラム実行中に変数を作成することをサポートしているため(C++で事前に宣言する必要があります).型クラス宣言では、少なくとも1つの親クラスが提供され、古典クラスは必要ありません.親がいない場合はPythonの親Objectを使用します.
class MyClass(Object):
    'This is a definition'
    class_suit

注意:クラス名は一般的に大文字で始まり、「アルパカの名前」が使用されます.クラスのデータ属性は一般的に名詞を使用します.クラスのメソッド属性は一般的に動詞を使用し、「アルパカの名前」+「」を使用します.分離されたネーミングメソッド.
3.クラスインスタンスのインスタンス化:
主に2つの方法があり、関数呼び出しを使用してinit()関数を書き換えなければ、インスタンスオブジェクトが1つしか作成されません.インスタンス化された付与などの操作はinit()関数で行うことを推奨します.この関数は、インスタンスオブジェクトの作成後に実行される最初の方法と理解できます.new()を使用してクラスのインスタンス化を行うこともできます.両者の違いは,init()が親のinit()を自動的にコールバックせずnew()ができることである.
4.について_init_()関数:
この関数は主にクラスインスタンス化の過程でインスタンスを追加するために使用されます.彼の最初のパラメータはselfでなければなりません.このパラメータはpythonでインスタンス自体を表し、init()を呼び出すと自動的に渡され、入力する必要はありません.注意:クラス内のすべてのインスタンスで使用できる方法は、selfを最初のパラメータとして使用するのが便利です.
5.クラス属性とインスタンス属性:
クラスのプロパティには、データのプロパティとメソッドのプロパティが含まれます.インスタンス属性には、initで実装されるデータ属性が含まれます.
注意:クラスのプロパティは、クラス定義時に直接定義され、任意のインスタンスに関係なく静的です.インスタンス・オブジェクトは、クラスのデータ・プロパティにアクセスできますが、変更はできません.クラスのメソッド属性は、一般的にインスタンスによって呼び出され、インスタンスが指定されていないメソッドは呼び出されません.
Pythonでは、組み込み関数dir()または属性「dict」でオブジェクト属性を取得します.違いは、前者は属性名のリストを返し、後者は辞書を返し、keyは属性名、valueは属性値である.
一言で言えば、クラスのプロパティはインスタンスのプロパティではなく、インスタンスのプロパティはクラスのプロパティではありません.