Pythonについて
関数の仮引数に self を用いることが慣例になっていますね?
コードでよく見るのが、 self.〜
という表記で1つ目の仮引数の後にドットをつけた文法がどのような役割、効果を持っているのかよくわかりません。
教えてくださいm(*_ _)m
> ドットをつけた文法がどのような役割、効果を持っているのか
s = '1,2,3'
a = s.split(',') #=> ['1', '2', '3']
や
d = {'a': 1, 'b': 2}
i = d.get('a') # =>1
はわかっていますか。
例を出すと、.append などモジュールや関数を呼び出すときに. を使うことは理解しています。
クラスでよく見られるのが、クラス.メソッド や x.〜 などもわかります。(xはインスタンスのためのオブジェクトとしています)
Pythonでクラスのところを現在学習しているのですが、仮引数を(self, x, y)とした時に、第1引数の self は self.〜 として使われているコードが多く教科書の説明ではそれが理解出来ませんでした。
class Foo: ...
というふうになにかのクラスが宣言してあるとして、
x = Foo()
x.hoge = 1
y = Foo()
y.fuga = 2
print(x.hoge + y.fuga)
# 3が出力される
のように、インスタンスに対して名前を付けて値を紐付けられることはわかっていますか。
この時のhoge huga はクラス内の関数ですか?
[インスタンス.関数] の文法は一応頭には入っています
了解です。上のコードが読めていないことがわかりました。(実際に実行していないことも)
本当なら「こういうことを質問に追記してはいかがですか」というようなことを続けたいのですが、ちょっと悩んでいます。
LouiS0616 さんの説明で不明な点などを掘り下げていくのがいいかもしれません。