解説
クラスから作ったインスタンスに、自分専用のデータ(属性)を持たせましょう。
__init__ は「インスタンスを作るときに最初に自動で呼ばれる」特別なメソッドで、初期化(initialize)を担当します。Student("佐藤", 80) のように作るとき、カッコ内の値が __init__ の引数として渡されます。
メソッドの中で self.name = name のように書くと、そのインスタンスに name という属性が保存されます。a.name のように「インスタンス.属性名」で取り出せます。
大切なのは、インスタンスごとに別々の状態を持つことです。a の点数を変えても b には影響しません。これが「データと処理をひとまとめにする」オブジェクトの利点です。
書き方
def __init__(self, 引数...): — インスタンス生成時に自動で呼ばれる初期化メソッド。 ・self.属性名 = 値: そのインスタンスに属性(データ)を持たせる。 ・生成: クラス名(引数...) のカッコ内が __init__ の引数になる。 ・参照/更新: インスタンス.属性名 で読み書きする。 ・インスタンスごとに状態は独立している。
書いて動かす
この回の課題
Student クラスに __init__ で name と score を持たせ、2人分のインスタンスを作って表示し、片方の点数だけ書き換えてみよう。
コードはあなたの端末の中だけで動きます(サーバーには送られません)。進み具合もこのブラウザに保存されます。
もっと本格的に使うなら
Windows版 InsightPy なら、書いたコードを保存して業務の自動化まで進められます。学習センターはずっと無料です。