【发布时间】:2018-05-06 23:20:46
【问题描述】:
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 = Person('CC','9th Street','1990') 之类的内容,第一堂课将正确输出。但是当我尝试从子类中调用它时,我无法让它正常工作,它只会把所有内容都留空。
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)
如果我在上面的块中输入类似kat = Employee('CC','9th Street','1990','12345','2017') 的内容,我什么也得不到,我是否遗漏了一些明显的东西,我已经用几种不同的方式重写了它来匹配示例,但我的方式和示例都不适合我。
【问题讨论】:
-
如何打印?
repr(kat)? -
print(kat) 是我正在使用的,但我尝试了 repr(kat) 并且得到了相同的结果。
-
无论如何都不要使用
__repr__。它不应该用于呈现格式化数据。
标签: python class init super repr