Pythonのクラス内でメソッドを定義する際に、自身のインスタンスを参照するための特殊なキーワードがself
です。self
は通常、メソッドの第一引数として定義され、メソッド内で自身のインスタンス変数や他のメソッドを参照するために使用されます。
例えば、以下のコードではDog
クラスから、犬種のインスタンスを作成しています。
class Dog:
def __init__(self, name):
self.name = name # self.インスタンス変数 = 引数のname(ここでは"チワワ")
def bark(self):
return "吠えたのは、" + self.name # self.name:インスタンス変数へアクセス
chihuahua = Dog("チワワ")
print(chihuahua.name) # > チワワ
print(chihuahua.bark()) # > 吠えたのは、チワワ
このコードでは、self
を使って__init__
メソッド内でインスタンス変数name
を定義し、その後bark
メソッド内でself.name
を参照しています。
また、self
を使うことで、インスタンス変数は生成されたインスタンスごとに別の値を持つことができ、クラス内の全メソッドで使用できます。さらに、クラスの外からインスタンス変数へアクセスしたい場合、インスタンスを作成しなければならない。
以上のように、self
はPythonのクラス内で非常に重要な役割を果たします。Pythonを学ぶ際には、self
の使い方とその意味を理解することが重要です。.