Pythonを学んでいると、クラスの中で関数を定義するときに引数でself
を渡すことがよくあります。このself
は、クラスのインスタンス自身を指すもので、Pythonの設計仕様で欠かすことはできません。
selfの役割
Pythonでは、クラスからインスタンスを生成し、そのインスタンスからメソッドを呼び出すとき、そのメソッドはインスタンス自身を引数として受け取る必要があります。このインスタンス自身を受け取る引数がself
です。
selfの使い方
インスタンス変数として参照する
Pythonのクラスのコンストラクタでは、self
を使ってインスタンス変数を定義します。以下に例を示します。
class ClassName:
def __init__(self, strA, strB):
self.strA = strA
self.strB = strB
test = ClassName("Hello", "World!")
print(test.strA)
print(test.strB)
このコードを実行すると、”Hello”と”World!”が出力されます。
クラス変数として参照する
self
は、クラス内の他のメソッドからも参照できます。
注意点
self
はPythonの設計仕様で必須ですが、名前をself
以外のもの(例えば、myself
など)にすることも可能です。しかし、Pythonでは作成されたコードを後から読む人が、どのように実装されているかが一目でわかるように書くことが重要であるため、基本的にはself
とするのが良いでしょう。
以上、Pythonのクラスのself
についての説明でした。この情報がPythonの学習に役立つことを願っています。