請問按老師的代碼寫,結果為什么是bound method.....
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(i): ????if?isinstance(i,Programer): ????????print?i.self_intro if?__name__=='__main__': ????prog?=?Programer('Albert',25,'80') ????back_prog?=?BackendProgramer('Alex',23,'80','Ruby') ????intro(prog) ????intro(back_prog)
運行結果是:
<bound method Programer.self_intro of <__main__.Programer object at 0x030A5490>>
<bound method BackendProgramer.self_intro of <__main__.BackendProgramer object at 0x030A5510>>
2018-11-09
17行出錯!類方法self_intro不能直接這樣調用,除非它本身是property一樣的屬性調用方法模式,那就可以不用加()
2018-07-04
第17行,i.self_intro改為i.self_intro()
2018-04-13
看不懂,不過我覺的把print
i.self_intro()
?? 改成 returni.self_intro
()?? 應該就不會有空值了2018-02-26
為什么會返回none呢
2017-06-04
原來是print?i.self_intro忘記加()