Day 82__init__コンストラクタの使い方
Pythonコード
1class Person:2 def __init__(self, name, age):3 self.name = name4 self.age = age5 6 def greet(self):7 print(f'こんにちは、私の名前は{self.name}です。{self.age}歳です。')8 9person = Person('山田', 25)10person.greet()
解説
- 行1〜2: クラスを定義します。クラスは、__init__コンストラクタを含むメソッドの集まりです。__init__コンストラクタは、クラスのインスタンスが作成されたときに呼び出されます。この場合、nameとageという2つのパラメータを受け取ります。
- 行3〜4: __init__コンストラクタ内で、受け取ったnameとageをインスタンスの属性に設定します。self.nameとself.ageは、インスタンスの名前と年齢を保持する属性です。
- 行6〜7: クラス内にgreetというメソッドを定義します。このメソッドは、インスタンスの名前と年齢を出力します。print関数は、指定された文字列を画面に出力します。f文字列は、文字列内に式を埋め込むことができます。
- 行9〜10: Personクラスのインスタンスを作成します。__init__コンストラクタに'山田'と25を渡します。greetメソッドを呼び出して、インスタンスの名前と年齢を出力します。print()は画面に文字や値を表示する関数です。
次に試してみよう
- クラスのインスタンスを複数作成し、それぞれのgreetメソッドを呼び出してみましょう。
- greetメソッド内で、年齢に基づいて異なるメッセージを出力するようにしてみましょう。
- クラスに新しいメソッドを追加し、インスタンスの名前と年齢を変更できるようにしてみましょう。