1.結局なに
| classは「設計図」 オブジェクトの設計図 どんなデータを持ち、 どんな処理を持つかを決める | 例class User: def __init__(self, name, points): self.name = nameself.points = points def add_points(self, value): self.points += valueポイント User が設計図 データ(name, points)を持つ 処理(add_points)を持つ |
| インスタンスは「実体」 設計図から実体を作る 設計図から実体を作ることで、 実際に使える | 設計図(User)から 実体1(User1)と 実体2(User2)を作る 例 user1 = User(“Sato”, 1200) user2 = User(“Suzuki”, 800) ポイント設計図から複数の実体を作れる それぞれ別のデータを持てる |
| __init__ は「最初の設定」 インスタンスを作るときに 自動で呼ばれるメソッド 最初の値を受け取って、 データを準備する | インスタンス作成の流れUser("Sato", 1200)を実行__init__ が自動で呼ばれるname と points に値をセット例 def __init__(self, name, points):self.name = nameself.points = pointsポイント 作成時に1回だけ実行 受け取った値をselfに保存する 最初の準備係 |
| selfは「自分自身」 メソッドの中で、 そのインスタンス自身を指す 特別な引数 | selfのイメージ 例 user1.add_points(100)を実行メソッドの中は add_pointsメソッドを呼び出しself = user1user1のpointsが更新されるポイント selfは自分自身を指す self.nameで自分のデータに アクセス 自分のデータを変更できる |
| メソッドは「そのデータ用の関数」 インスタンスが持つデータを 使って処理する関数 | メソッドを使う 例 user1 = User("Sato", 1200) user1.add_points(150) print(user1.points)user1のpointsが150増える 実行結果→ 1350 ポイント インスタンスのデータを使って処理 何度でも呼び出せる 状態(データ)を変えられる |

class User:
def __init__(self, name, points):
self.name = name
self.points = points
def add_points(self, value):
self.points += valueuser1 = User("Sato", 1200)
user2 = User("Suzuki", 800)def __init__(self, name, points):
self.name = name
self.points = points user1 = User("Sato", 1200)
user1.add_points(150)
print(user1.points)