静的プロパティ
クラスの振る舞い属性クラスへの行動修正クラスと@property、パッケージの役割があります
例。
# - * -コーディング:UTF-8 - * - クラスルーム: DEF __init __(自己、名前、所有者、幅、長さ、HEIGH): self.name名= self.Owner =所有者 self.Width =幅 self.Length =長 self.Heigh = HEIGH クラスのクラスプロパティに#挙動、封止効果 @Property DEFのcal_area(自己): 戻りself.Length * self.Width ROOM1 =ルーム( '102'、 'アレックス'、10 、10,3)
#ないコール添加前@property #room1.cal_area S =() #プリント(S) ROOM2 =ルーム( '103'、 'アレックス'、10,5,3) #S2 = room2.cal_area () #プリント(S2)
#呼び出し@Property添加後 S1 =をroom1.cal_areaの プリント(S1) S2 = room2.cal_areaの 印刷(S2)
メソッドは、クラス(クラスメソッドが存在しない場合に、クラスのインスタンスのケースを呼び出します)
@classmethod
# - * -コーディング:UTF-8 - * - クラスルーム: タグ= 1 デフ__init __(自己、名前、所有者、幅、長さ、heigh): self.Name =名 self.Owner =所有者 self.Width =幅 セルフ.LENGTH =長さ self.Heigh = heigh デフcal_area(自己): 戻りself.Length * self.Width @classmethod デフ情報(CLS)は: プリント( '我是类方法') Room.info()
staticメソッド
@staticmethod
静的メソッド名のみホームベースの管理、クラス変数とインスタンス変数を使用することはできません基づいており、ツールキット
# - * -コーディング:UTF-8 - * - クラスルーム: タグ= 1 デフ__init __(自己、名前、所有者、幅、長さ、heigh): self.Name =名 self.Owner =所有者 self.Width =幅 セルフ.LENGTH =長さ self.Heigh = heigh デフcal_area(自己): 戻りself.Length * self.Width @classmethod デフ情報(CLS): プリントは( '我是类方法') @staticmethod (a、b)は、DEFライブ: 印刷( '%sの和%S是住户' %(B)) #调用类 Room.live( 'アレックス'、 'ボブ') #实例调用 ROOM1 =ルーム( '102'、 'アレックス'、10、 10,3) room1.live( 'アレックス'、 'ボブ')
概要:@propertyとだけインスタンスのバインディング(静的プロパティの両方のインスタンスのプロパティにアクセスすることができ、彼らはクラス属性にアクセスすることができます)、クラスメソッド@のみstaticmethodクラスとインスタンス@、(クラスメソッドのみクラス属性にアクセスすることができます)クラスをバインドするには、することができ(クラスクラスは、どちらの方法でも、インスタンスの属性属性)