クラスの定義:
クラスのクラス名を(大文字で始まる): 属性 = 「A」 クラスのname属性。 ロールクラス名:操作属性を、プロパティを参照してください。
例:
クラスTSTがある: 国籍 = 「中国」 #静的プロパティ、クラス外で変更することはできません DEF __init__ (セルフ、名前、年齢、性別): self.name = 名前 self.age = 年齢 self.sex = セックス 印刷(ID(セルフ) )#の同じメモリアドレスに対して自己T1 DEFの方法(自己):#1 の方法は、一般的に自己のパラメータを渡す必要があり、最初に書き込まれなければならない、バックは、他の送信パラメータとすることができる、自由に 通過 T1 = TSTがあります(' エイキ' ' 25 ' ' 男性") #t1は、自己受信したメモリアドレスになるように 印刷(Tst.nationality) #の表示、静的プロパティの 印刷(TSTがある。__dict__は、 [ 「国籍」 ]) #は、静的プロパティ値の二重の方法を見ることができるのdict #Tstをは.__ dictのは__の[ 'であります国籍「] =」米国「#エラー、それは静的プロパティの変更はできません 印刷(T1)を #は同じ自己と、メモリアドレスを返す 印刷(ID(T1)) #の同じメモリアドレスと自己t1の 印刷(t1.name ) #のViewプロパティ値 を印刷(T1。__dict__) #データと一致しているので、二重のdict法によっては、データメモリアドレスと同一の中に発見することができる プリント(T1。__dict__ [ 「名前」 ]) #はまた、辞書の属性値のデュアル方法見ることができ T1を。__dict__ [ 「名前」 ] = 「アイク」 #属性値を変更することができる二重辞書法 印刷が(T1。__dict__ [ 「名前」]) t1.way() #はTst.wayに相当する、オブジェクト直接法と呼ぶことができる(T1 )、複数のパラメータを受信する方法は、括弧順次内部に通過させることができる場合
プロセス:
クラス名()は最初の自己変数を作成、オブジェクトを作成する
括弧内のパラメータは、ここで受信され、initメソッドを呼び出すクラス名を
initメソッドは、
セルフリターン
:オブジェクトが行うことができる
の表示プロパティ
を呼び出す方法は、
オブジェクトに対して__dict__ CRUD操作はの文法辞書によって行うことができる
行うことができ、クラス名:
インスタンス
だけで、独自の自己引数を渡すために:メソッドを呼び出して
静的プロパティを呼び出す、クラス属性を呼び出すために、それがある
だけで、クラス名の__dict__動作不能に見えます
要約:
図1に示すように、プロセスの例はクラスである- >プロセスの目的は、オブジェクトが何かのインスタンスを作成することです
__init__に渡されたオブジェクト/インスタンス自体最初のパラメータをインスタンス化するとき2、自動的に自己、あなたも彼に個人の名前を付けることができますが、普通の人はしないでください。
図3に示すように、二重辞書法によるオブジェクトは、自己と一致するメモリアドレス、オブジェクトデータで見ることができるので、データは、と一致しています
図4は、クラス外部辞書法の下で二静的プロパティで見ることができるが、修正することができません
図5に示すように、同じオブジェクトのメソッドを呼び出すと、通常ではありません