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

Help~Python 重写__new__方法时报错 “object() takes no parameters”

Help~Python 重写__new__方法时报错 “object() takes no parameters”

Rebekaah 2017-03-27 19:43:32
重写__new__方法时报错: object() takes no parameters找不出哪里出错了,帮忙瞅瞅嘞如下是完整代码:class Person(object): """docstring for Person""" company = 'guess' def __new__(cls,*args,**kwargs): print('call __new__ method') print(args) return super(Person,cls).__new__(cls,*args,**kwargs) def __init__(self, name,age,gender): print('call __init__ method') self.name = name self._age = age self.__gender = gender @classmethod def getcompany(cls): return cls.company @property def getGender(self): return self.__gender def getAge(self): return self._age def description(self): print('{} is a/an {},{} years old'.format(self.name,self.__gender,self._age)) class C(Person): def __init__(self,name,age,gender,language): super(Mis,self).__init__(name,age,gender) self.language = language def description(self): print('{} is in C, using {} to program'.format(self.name,self.language)) def introduce(somebody): if(isinstance(somebody,Person)): somebody.description() if __name__ == '__main__': rebe = Person('Rebe','26','M')
查看完整描述

1 回答

?
Rebekaah

TA贡献1条经验 获得超1个赞

找到原因了,我本机是Python3.5

用它替代就可以了:return super(Person,cls).__new__(cls)

查看完整回答
1 反对 回复 2017-03-27
  • qq_素莫妍_0
    qq_素莫妍_0
    我按照你说的这个,也是操作成功了,又是2.7和3.5的不同引起的呀
  • 1 回答
  • 0 关注
  • 1969 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信