class Programer(object):
hobby='play computer' def __init__(self,name,age,weight): self.name=name self._age=age self.__weight=weight def self_intro(self): print 'my name is %s \nI am %s years old\n' % (self.name, self._age)
class BackendProgramer(Programer):
def __init__(self,name,age,weight,language): super(BackendProgramer,self).__init__(name,age,weight) self.language = language def self_intro(self): print 'my name is %s \nmy favourite language is %s\n' % (self.name, self.language)
def intro(f):
if isinstance(f,Programer): print f.self_intro
if __name__=='__main__':
prog = Programer('Albert',25,'80') back_prog = BackendProgramer('Alex',23,'80','Ruby') intro(prog) intro(back_prog)
The running result is:
Excuse me why the running result is not my name is...
Because you forgot to call