国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

python - 多態調用方法時卻顯示bound method...

瀏覽:144日期:2022-06-29 09:58:00

問題描述

class Programer(object):

hobby=’play computer’def __init__(self,name,age,weight): self.name=name self._age=age self.__weight=weightdef self_intro(self): print ’my name is %s nI am %s years oldn’ % (self.name, self._age)

class BackendProgramer(Programer):

def __init__(self,name,age,weight,language): super(BackendProgramer,self).__init__(name,age,weight) self.language = languagedef self_intro(self): print ’my name is %s nmy favourite language is %sn’ % (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)

運行結果是:<bound method Programer.self_intro of <__main__.Programer object at 0x02505330>><bound method BackendProgramer.self_intro of <__main__.BackendProgramer object at 0x02505370>>

請問為什么運行結果不是my name is ...

問題解答

回答1:

因為你忘記調用了

def intro(f): if isinstance(f,Programer):print f.self_intro() # 沒有()只是函數對象而已, 加了()才是調用

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 鸡东县| 昆山市| 平湖市| 高邮市| 库伦旗| 阿鲁科尔沁旗| 增城市| 澄城县| 定襄县| 龙陵县| 达孜县| 利津县| 大洼县| 城市| 大渡口区| 阿勒泰市| 会泽县| 江达县| 揭西县| 朝阳县| 达尔| 呼伦贝尔市| 瑞丽市| 新昌县| 庆阳市| 东兴市| 罗山县| 屏东市| 唐山市| 萍乡市| 确山县| 连南| 麻栗坡县| 东源县| 桃园县| 比如县| 五家渠市| 虎林市| 临湘市| 洛浦县| 防城港市|