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

重写__new__方法时报错: object() takes no parameters

找不出哪里出错了,帮忙瞅瞅嘞

http://img.mukewang.com/58d8fa170001612c07260190.jpg

如下是完整代码:

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')


Rebekaah
浏览 1974回答 1
1回答

Rebekaah

找到原因了,我本机是Python3.5用它替代就可以了:return super(Person,cls).__new__(cls)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python