Day 83__str__で文字列表現を定義
Pythonコード
1class Person:2 def __init__(self, name, age):3 self.name = name4 self.age = age5 6 def __str__(self):7 return f'{self.name} ({self.age} 歳)'8 9person = Person('山田太郎', 30)10print(person)
解説
- 行1〜4: クラス Person を定義します。__init__ メソッドは、クラスを初期化するときに呼ばれます。ここでは、name と age をクラスの属性として設定します。__init__ はクラスを初期化する特別なメソッドです。
- 行6〜7: __str__ メソッドは、クラスのインスタンスを文字列に変換するときに呼ばれます。ここでは、name と age を含む文字列を返します。f-string は文字列の中に変数を埋め込む方法です。
- 行9〜10: Person クラスのインスタンスを作成し、print 関数で出力します。__str__ メソッドで定義した文字列表現が表示されます。print() は画面に文字や値を表示する関数です。
- 行10: 補足: print() の役割は、指定された値を標準出力に表示することです。
次に試してみよう
- クラスの属性に別の値を設定してみましょう
- 別のクラスを作成して、__str__ メソッドを実装してみましょう
- クラスのインスタンスをリストに追加し、リストの要素を出力してみましょう