この記事は、Python プログラミングのクラスとインスタンスを簡単に説明 (サンプル付き) したものであり、一定の参考価値があります。
オブジェクト指向プログラミング OOP: オブジェクト指向プログラミング。
OOP ではオブジェクトをプログラムの基本単位として捉え、オブジェクトにはデータとデータを操作するための関数が含まれます。 Python は、オブジェクトを介したメソッド呼び出しを実装するオブジェクト指向プログラミング言語です。
オブジェクト指向言語の場合、重要な概念はクラスとインスタンスです。クラスは抽象テンプレートであり、インスタンスはクラス テンプレートに基づいて作成されるオブジェクトです。
Python ではすべてのデータ型をオブジェクトとして扱うことができ、もちろんオブジェクトをカスタマイズすることもできます。カスタム オブジェクト データ型は、オブジェクト指向におけるクラスの概念であり、オブジェクトはクラスに基づいて作成されます。
その 3 つの主な特徴は、カプセル化、継承、ポリモーフィズムです。
クラスは、抽象テンプレートおよびデータ構造です。
構文:
class class_name: pass
class class_name(object): pass
説明:
class は、キーワード class です。クラス名 class_name は通常、大文字で始まります。
object は、このクラスがどのクラスから継承しているかを示します。実際、オブジェクトはすべてのクラスが継承する基本クラスであり、通常は明示的に書き出されません。 (私は通常これを書きます)
たとえば、クラスに生徒がいる場合、生徒の名前、生徒番号、学年、専攻など、この生徒の集合には多くの共通点があります。 、成績、および一連の共通の特徴がある場合、これらを Student クラスに抽象化できます。次のように:
class Student(object): pass
上の例では、最初に pass を使用してデモンストレーションします。これは、何もしないことを意味します。
クラスを通じて Student インスタンスを作成できます。メソッドは次のとおりです:
>>> bart = Student() # 变量bart指向的是一个Student的实例 >>> bart <__main__.student> # 类object 实例的内存地址 >>> Student # 类 <class> # 返回的是Student 类的属性 class</class></__main__.student>
インスタンスに属性をバインドできますクラスの。
属性は、オブジェクトのデータ要素または関数要素です。たとえば、学生の名前、学生番号、および学生カテゴリのその他の情報です。
「拠点属性識別方式」でアクセスします。
Python は動的言語であり、クラスに基づいて作成されたインスタンスを任意に属性にバインドできます。プロパティをインスタンスにバインドする方法は、インスタンス変数または self 変数を使用します。
>>> bart.name = 'xlp' # 动态给变量绑定属性 >>> bart.name 'xlp'
プロパティはどのようにバインドされますか? __init__() インスタンス メソッド。
インスタンスが作成されると、Python は __init__() メソッドが実装されているかどうかをチェックします。このメソッドが定義されていない場合、特定の操作はインスタンスに適用されません。特別な操作が必要な場合は、自分自身の方法。つまり、デフォルトであるかカスタマイズされているかに関係なく、 __init()__ が自動的に呼び出されます。
__init__(self)
1. このメソッドの最初のパラメータは常に self で、self は作成されたインスタンス自体を指します;
2. このメソッドを通じて、属性は self が指すインスタンスにバインドされます;
3. __init__() メソッドは None を返します;
4. このメソッドでは、デフォルト パラメーターと位置パラメーターを設定できます。インスタンスを作成するとき、空のパラメータを渡すことはできません。メソッドに一致するパラメータを渡す必要がありますが、self を渡す必要はありません。デフォルトのパラメータは必要に応じて渡されます。
3 番目の点について: インスタンス オブジェクトは自動作成インスタンス呼び出しの後に返されるため、コンストラクター __init__() が定義されている場合はオブジェクトを返すべきではありません。そうしないと競合が発生する可能性があり、インスタンスのみを返します。 None 以外のオブジェクトを返そうとすると、TypeError エラーが報告されます:
インスタンス プロパティの表示: dir()
組み込み関数 dir (class_name) は、クラスの属性を表示できます (例: dir(Student1))。インスタンスのプロパティにアクセスすることもできます。印刷して自分の目で確認してみてください~
以上がPython オブジェクト指向プログラミングのクラスとインスタンスの簡単な説明 (例付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。