class??AddrBookEntry(object): ????'address?book?entry?class' ????def?__init__(self,nm,ph): ????????self.name?=?nm ????????self.phone?=?ph ????????print?'created?instance?for:',self.name ????def?updatephone(self,newph): ????????self.phone?=?newph ????????print?'update?phone?for:',self.name ????def?updatename(self,newname): ????????self.name?=?newname ????????print?'update?phone?for:',self.phone john?=?AddrBookEntry('xiewenbin','13711710490') print?john.name print?john.phone john.updatephone('18617311540') john.updatename('xwb') print?john.phone print?john.name class?EmpAddrBookEntry(AddrBookEntry): ????'employee?address?book?entry?class' ????def?__init__(self,nm,ph,id,em): ????????AddrBookEntry.__init__(self,nm,ph) ????????self.empid?=?id ????????self.email?=?em ????def?updateemail(self,newem): ????????self.email?=?newem ????????print?'update?email?address?for:',self.name jone?=?EmpAddrBookEntry('jone?doe','408-555-1212',42,'543361609@qq.com') print?jone.name print?jone.phone print?jone.email jone.updatephone('18617311541') print?jone.phone jone.updateemail('186@qq.com') print?jone.email class?HotelRoomCalc(object): ????'hotel?room?rate?calculator' ????def?__init__(self,rt,sales=0.084,rm=0.1): ????????'''hotelroot?calc??default?arguments: ????????sales?tax?==?8.5%??and?room?tax?==?10%''' ????????self.salestax?=?sales ????????self.roomtax?=?rm ????????self.rootrate?=?rt ????def?cacltotal(self,days=1): ????????'calculator?total;default?to?daily?rate' ????????daily?=?round((self.rootrate?*?(1?+?self.roomtax?+?self.salestax)),2) ????????return?float(days)?*?daily sfo?=?HotelRoomCalc(299) print?sfo.cacltotal(3) class?TestStaticMethod(object): ????@staticmethod ????def?foo(): ????????print?'calling?static?method?foo()' class?TestClassMethod(object): ????@classmethod ????def?foo(cls): ????????print?'calling?class?method?foo()' ????????print?'foo()?is?part?of?class:',cls.__name__ class?C(object): ????foo?=?100 print?C.foo?+?1 class?Myclass(object): ????'myclass?class?definition' ????myversion?=?19.0 ????def?showmyversion(self): ????????print?Myclass.myversion mc?=?Myclass() mc.showmyversion() print?dir(Myclass) print?Myclass.__dict__ """ class?InstCt(object): ????count?=?0 ????def?__init__(self): ????????InstCt.count?+=?1 ????def?__del__(self): ????????InstCt.count?-=?1 ????def?howmany(self): ????????return?InstCt.count a?=?InstCt() b?=?InstCt()""" x?=?3?+?0.14j print?x.__class__ print?[type(getattr(x,i))?for?i?in?('conjugate','imag','real')] class?Foo(object): ????x?=?{2003:'poe2'} foo?=?Foo() print?foo.x foo.x[2004]?=?'xie' print?foo.x print?Foo.x del?foo.x print?foo.x print?Foo.x
?以上就是python基礎學習代碼之面向對象編程的內容,更多相關內容請關注php中文網(www.php.cn)!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END