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')
のようなものを入れた場合、ファーストクラスは正しく出力されます。しかし、サブクラス内から呼び出そうとすると正しく動作するようにはできません。super().__ repr __()が期待した結果を返さない
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)を試してみました。 – Xydis
とにかく '__repr__'を使わないでください。これは、書式設定されたデータを表示するために使用されることは想定されていません。 – wim