Rumah > Soal Jawab > teks badan
classProgrammer(objek):
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)
kelas 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
jika __nama__=='__utama__':
prog = Programer('Albert',25,'80')
back_prog = BackendProgramer('Alex',23,'80','Ruby')
intro(prog)
intro(back_prog)
Hasil berjalan ialah:
<kaedah terikat Programer.self_intro of <__main__.Objek Pengaturcara pada 0x02505330>>
<kaedah terikat BackendProgramer.self_intro <__main__.BackendProgramer objek di 0x02505330>>
Maaf kenapa keputusan larian bukan nama saya...
伊谢尔伦2017-06-12 09:27:43
Sebab terlupa nak call
def intro(f):
if isinstance(f,Programer):
print f.self_intro() # 没有()只是函数对象而已, 加了()才是调用