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