Pythonでクラスを定義する際の「self」。「self」とは何なのか。

スポンサーリンク

Pythonでクラスを定義する際の「self」。「self」とは何なのかについて解説しています。

英語で「self」は「自己(自分自身。おのれ。)」という意味であるが、Pythonでクラスを定義する際の「self」とは、クラスのインスタンスである。または、現在作業しているクラスのインスタンスを指す変数である。クラスは、オブジェクトを作成するためのテンプレート(設計図)で、インスタンスは、クラスに属するオブジェクト(文字列,辞書,数値など)で、英語では「instance」は「実態」という意味。

この「self」を使用することで、Pythonで定義したクラスの属性とメソッド(関数)にアクセスができる。指定された引数で属性をバインド(相互に関連付けられている状態)する。なお、属性(共通して備わる性質や特徴)とは、プロパティ、または詳細なデータという認識である。

「self」を使う必要があるのは、Pythonがインスタンスの属性を参照するために@構文を使わないため。Pythonは、メソッド(関数)が属するインスタンスを自動的に渡すが、自動的に受け取らない方法でメソッド(関数)を行うことを決める。そのため、メソッド(関数)の最初の引数,パラメータは、「self」となり、メソッド(関数)が呼び出されるインスタンスとなる。

なお、「self」は常に現在のオブジェクトを指している。オブジェクトはクラスのインスタンスである。

「self」はインスタンス メソッド(関数)の引数,パラメーターであり、ユーザーは代わりに別のパラメーター名に変更できるが、「self」を使用することで、コードの可読性が向上し、優れたプログラミングであり、混乱しないために「self」を使用することを推奨する。

コメント

タイトルとURLをコピーしました