始める無料で始める

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

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