Pythonのself
は、クラスのインスタンス自身を参照するための引数です。これはPythonの設計仕様で、他のオブジェクト指向言語ではthis
と同じ役割を果たします。
class SampleClass():
def __init__(self, word):
self.word = word
上記の例では、__init__
メソッド(コンストラクタ)の引数としてself
が使用されています。ここでself.word = word
とすることで、インスタンス変数word
が定義され、値が代入されます。
また、self
はインスタンス変数だけでなく、インスタンスメソッド内でも使用されます。これにより、インスタンスメソッドがインスタンス変数にアクセスできます。
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
return "吠えたのは、" + self.name
この例では、Dog
クラスのbark
メソッドが、self.name
を通じてインスタンス変数name
にアクセスしています。
Pythonのself
は、コードの可読性を高め、クラスのインスタンス間でデータを独立に保持するための重要な概念です。これにより、Pythonのオブジェクト指向プログラミングが可能になります。