\

Pythonのクラスについて学ぶとき、初めて出会う壁の一つがselfです。この記事では、Pythonのselfについて深く掘り下げてみましょう。

Pythonのselfとは何か

Pythonのselfは、クラスのメソッド内でオブジェクト自身を参照するために使用されます。メソッドが呼び出される際には、selfは暗黙的に渡され、メソッド内で自由に使用することができます。

class Cat():
    def __init__(self, name):
        self.name = name

    def naku(self):
        print("にゃー")

tama = Cat("タマ")
tama.naku()  # "にゃー"と出力される

上記の例では、Catクラスの__init__メソッドとnakuメソッドの第一引数としてselfが指定されています。selfは、インスタンス自身を指すため、self.nameはインスタンスのname属性を指します。

selfはなぜ必要なのか

Pythonのselfは、メソッド内でインスタンス変数を通常の変数に代入するために必要です。これにより、同じクラスから生成された異なるインスタンスが、それぞれ独自の状態を持つことが可能になります。

class Dog:
    def __init__(self, name):
        self.name = name

chihuahua = Dog("チワワ")
dachshund = Dog("ダックスフンド")

print(chihuahua.name)  # "チワワ"と出力される
print(dachshund.name)  # "ダックスフンド"と出力される

上記の例では、Dogクラスから生成されたchihuahuadachshundという二つのインスタンスが、それぞれ異なるname属性を持つことができます。

まとめ

Pythonのselfは、クラスのメソッド内でインスタンス自身を参照するための重要なキーワードです。selfを理解することは、Pythonのクラスとオブジェクト指向プログラミングを理解する上で不可欠です。この記事が、Pythonのselfについての理解を深める一助となれば幸いです。.

投稿者 admin

コメントを残す

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