クラスに関して勉強しはじめたのですが、とくに使いどころというかメリットがみつかりません
たとえばこんなの
lang
1class sample: 2 def __init__(self, s_1, s_2, s_3): 3 self.s_1 = s_1 4 self.s_2 = s_2 5 self.s_3 = s_3 6 7 def keisan(self): 8 return self.s_1 * self.s_2 * self.s_3 9 10 11ans = sample(2, 3, 4) 12print(ans.keisan())
なんとなく頭にあること
- 初期化メソッドのinitの引数にselfを指定して、上記のs_1, s_2のように書き、self.s_1 = s_1みたいにselfを使いアトリビュートに何かを指定することで、別の関数で使うときに使いまわし?ができる。
2.別の関数で初期化メソッドのアトリビュートを使うときはkeisan(self):みたいに引数にselfを指定しないと初期化メソッドのアトリビュートにアクセスできない。
3.つまりselfが肝である。
みたいなことでしょうか。そんな感じで全く分かってないまである。
あと、selfはオブジェクト自身を指す。とか書いてあったんですがオブジェクトなんでサンプルソースの中にいくらでもあんだろ。目みえてんのかお前
と言いたくなるくらいにselfが何なのか分かっていません。つまりselfは何なんでしょうか?
コーヒーも飲めない僕には理解できない概念なんでしょうか
教えてください。