为了账号安全,请及时绑定邮箱和手机立即绑定

运行报错,我用的是python3.x

TypeError: 'NoneType' object is not callable

class Programer(object):
    hobby = "Play Computer"

    def __init__(self,name,age,weight):
        self.name = name
        self._age = age
        self.__weight = weight

    @classmethod
    def get_hobby(cls):
        return cls.hobby

    @property
    def get_infor(self):
        print("my name is hh")

    def get_weight(self):
        return self.__weight

class BackenProgramer(Programer):
    def __init__(self,name,age,weight,languge):
        super(BackenProgramer,self).__init__(name,age,weight)
        self.languge = languge
    def get_infor(self):
        print("hh is my name")
        
def intudece(programer):
    if isinstance(programer,Programer):
        programer.get_infor()
        

if __name__=="__main__":
    programer = Programer('Alb',28,90)
    bcprogramer = BackenProgramer('Alber',25,80,'python')
    #print (dir(programer))
    #print (programer.__dict__)
    #print (BackenProgramer.get_hobby())
    #programer.get_infor
    #print (isinstance(programer,Programer))

    intudece(programer)
    bcprogramer.get_infor


正在回答

2 回答

29行,去掉“()”;42行,加上“()”

intudece(programer),相当于调用的是@property后面的方法,需要以参数的形式调用

bcprogramer.get_infor,调用的是重写后的get_infor,并没有用@propery装饰器,所以需要加()

0 回复 有任何疑惑可以回复我~

29行,去掉最后的“()”

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

运行报错,我用的是python3.x

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信