Python super()。\uuuu repr\uuuuu()未返回预期结果
如果我输入kat=Person'CC'、'9th Street'、'1990'之类的内容,第一个类将正确输出。但是当我试图在子类中调用它时,我无法使它正常工作,它只会将所有内容留空Python super()。\uuuu repr\uuuuu()未返回预期结果,python,class,init,super,repr,Python,Class,Init,Super,Repr,如果我输入kat=Person'CC'、'9th Street'、'1990'之类的内容,第一个类将正确输出。但是当我试图在子类中调用它时,我无法使它正常工作,它只会将所有内容留空 class Person: def __init__(self, nameInput, addressInput, dateOfBirthInput): self._name = nameInput self._address = addressInput se
class Person:
def __init__(self, nameInput, addressInput, dateOfBirthInput):
self._name = nameInput
self._address = addressInput
self._dateOfBirth = dateOfBirthInput
def getName(self):
return self._name
def getAddress(self):
return self._address
def getDateOfBirth(self):
return self._dateOfBirth
def __repr__(self):
return 'Name: %s \nAddress: %s \nDate of Birth: %s' % (self._name, self._address, self._dateOfBirth)
如果我在上面的块中输入像kat=Employee'CC'、'9th Street'、'1990'、'12345'、'2017'之类的东西,我什么也得不到,我是否遗漏了一些明显的东西,我用了几种不同的方法来匹配示例,但我的方法和示例都不适合我。在你的Employee类中这样做
from Person import Person
class Employee(Person):
def __init__(self, nameInput, addressInput, dateOfBirthInput, employeeNumberInput, dateOfHireInput):
super().__init__(nameInput, addressInput, dateOfBirthInput)
self._employeeNumber = employeeNumberInput
self._dateOfHire = dateOfHireInput
def getEmployeeNumber(self):
return self._employeeNumber
def getDateOfHire(self):
return self._dateOfHire
def __repr__(self):
return super().__repr__() + '\nEmployee Number: %s \nDate Of Hire: %s' % (self._employeeNumber, self._dateOfHire)
这将适用于您的模块,因此经过一些修改后,似乎没有任何问题,它是否运行似乎取决于我运行它的方式。我在Visual Studio中编写了它,但它在Visual Studio中不起作用,但当我将它推入空闲状态时,它可以正常工作。如何打印它?reprkat?printkat是我正在使用的,但我尝试了reprkat,得到了相同的结果。无论如何,不要使用u repr_u。它不应该用于显示格式化数据。这不会改变任何内容。@cᴏʟᴅsᴘᴇᴇᴅ 我已经添加了superEmployee、self,它对meIt起作用,听起来好像您的VisualStudio可能已经为Python 2进行了配置。
class Employee(Person):
...: def __init__(self, nameInput, addressInput, dateOfBirthInput, employeeNumberInput, dateOfHireInput):
...: super(Employee, self).__init__(nameInput, addressInput, dateOfBirthInput)
...: self._employeeNumber = employeeNumberInput
...: self._dateOfHire = dateOfHireInput
...: def getEmployeeNumber(self):
...: return self._employeeNumber
...: def getDateOfHire(self):
...: return self._dateOfHire
...: def __repr__(self):
...: return super(Employee, self).__repr__() + '\nEmployee Number: %s \nDate Of Hire: %s' % (self._employeeNumber, self._dateOfHire)