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
Ce qui précède est le contenu de la programmation orientée objet du code d'apprentissage de base Python. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !