始める無料で始める

オブジェクトの文字列表現

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))
コードを編集して実行