オブジェクト指向
プロセス指向のプログラミングと比べて2つのオブジェクト指向の機能
図1に示すように、コードの再利用性を低減します。
2、コードの可読性を向上させます。
オブジェクト指向プログラミングの利点
1。あなたのコードがより分かりやすく、より合理化を行うために同様の機能を機能クラスの集合である
問題で、神の斜視外観を持つように、2オブジェクト指向、オブジェクトが特定のテンプレートからインスタンス化されます。
クラス構造
クラスは、クラスを定義し、同じキーワードDEFの使用です。
人間は、クラス名の一種であるクラス名はキャメル(キャメルケース)スタイルの命名を使用し、先頭にアンダースコアプライベートクラスが利用可能大文字。
2つの部分に分割される一般的な方向のクラス構造
静的変数。
動的な方法
クラス名操作の静的プロパティ
まず、コンテンツビュークラスのすべて:クラス名.__ dict__に方法。
第二に、ポイントアウトパラメータまたはあなたが望む方法によって普遍ポイント
ダイナミックな操作
提供される2つの特別な方法に加えて:静的クラスメソッドへの方法は、この方法は、一般クラスのクラス名で動作しません。
class Human:
"""
此类主要是构建人类
"""
mind = '有思想' # 第一部分:静态属性 属性 静态变量 静态字段
dic = {}
l1 = []
def work(self): # 第二部分:方法 函数 动态属性
# print(self)
print('人类会工作')
def tools(self):
print('人类会使用工具')
Human.work(111)
Human.tools(111)
下面可以做,但不用。
Human.__dict__['work'](111)
オブジェクト説明
オブジェクトは、限り()を持つクラス名として、クラスの外にあるプロセスの一例であり、これは、オブジェクトをインスタンス化します。
オブジェクトの合計をインスタンス化し、三つのことがありました
1は、メモリ内のオブジェクト・スペースを開きました。
図2は、自動的に実行されるクラスの__init__方法、及び対象空間(メモリアドレス)__init__メソッド第1位置パラメータ自己を通過しました。
図3は、__init__メソッドで自己を通じてオブジェクト空間に属性を追加します。
オブジェクト・クラスの動作方法
この方法は、一般的に、オブジェクト上のクラス(外側の、静的メソッドのうちクラスメソッド)、およびこれらの方法のオブジェクトインプリメンテーションによって自動的にオブジェクト・スペース内のメソッドに渡された自己パラメータです。
何自己のですか?
実際には、自己のクラスメソッド(関数)第1位置パラメータではなく、インタプリタは、自動的にオブジェクトのパス自己のこの関数を呼び出します。だから我々は、自己を提供するクラスの大会の最初の引数、このオブジェクトの代表です。