\

Pythonのクラスを勉強する際に必ず登場するselfについて説明します。Pythonにおいてしばしばヘイトを集めていると言われているselfですが、今回はその役割について理解を深められればと思います。

Pythonのselfって何?

selfは、インスタンス自身を示すものです。また、selfはpythonの設計仕様で欠かすことはできません。

selfの使い方

インスタンス変数として参照する

コンストラクタで使用する例を見てみましょう。pythonにおけるコンストラクタは__init__と表記します。

class className():
    def __init__(self, strA, strB):
        self.strA = strA
        self.strB = strB

test = className("Hello", "World!")
print(test.strA)
print(test.strB)

このように、インスタンスを生成する際に引数を渡すと、selfを使ってインスタンス変数として代入する事ができます。

クラス変数として参照する

以下のようにクラス変数として別メソッドでも使う事ができます。

class className():
    def __init__(self, strA, strB):
        self.strA = strA
        self.strB = strB

    def printStrA(self):
        print(self.strA)

    def printStrB(self):
        print(self.strB)

test = className("Hello", "World!")
test.printStrA()
test.printStrB()

selfの注意点

selfはインスタンス自身を示すものなので、呼び出す側は引数として値を入れない事です。また、名前をself以外のキーワード (例えば、myselfなど)にすることは可能ですが、慣例としてselfを使用しています。

以上、Pythonのselfについての基本的な説明でした。この記事がselfの理解に役立つことを願っています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です