オブジェクトの文字列表現
Python には、オブジェクトの文字列表現を返す特別メソッドが 2 つあります。__str__() はオブジェクトに対して print() や str() を使ったときに呼ばれ、__repr__() は repr() を使ったとき、コンソールで print() を使わずにオブジェクトを表示したとき、または __str__() が未定義の場合に __str__() の代わりに呼ばれます。
__str__() はオブジェクトを「ユーザーにわかりやすく」説明する出力を返すことが想定され、__repr__() は評価すると同じオブジェクトを再生成できる表現を返し、コードの再現性を確保します。
この演習では、第2章で扱った Employee クラスを引き続き使用します。
この演習はコースの一部です
Pythonによるオブジェクト指向プログラミング入門
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
class Employee:
def __init__(self, name, salary=30000):
self.name, self.salary = name, salary
# Add the __repr__() method
____
emp1 = Employee("Amar Howard", 30000)
print(repr(emp1))
emp2 = Employee("Carolyn Ramirez", 35000)
print(repr(emp2))