Pythonでは、クラスを定義する際によく見かけるself
と__init__
について解説します。
Pythonのselfとは
Pythonのクラス内でメソッドを定義する際、その第一引数としてself
を指定します。このself
は、そのクラスのインスタンス自身を指します。つまり、self
を通じてインスタンス変数にアクセスしたり、インスタンスメソッドを呼び出したりすることができます。
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
return "吠えたのは、" + self.name
上記の例では、Dog
クラスのインスタンスが生成されるとき、その名前をself.name
というインスタンス変数に保存します。そして、bark
メソッドを呼び出すときには、self.name
を通じてその名前にアクセスします。
Pythonの__init__とは
Pythonの__init__
は、クラスのインスタンスが生成されるときに自動的に呼び出される特殊なメソッドです。このメソッドは、インスタンスの初期化を行うために使用されます。つまり、インスタンスが生成されるときに特定の状態や値を設定するために__init__
を使用します。
class Dog:
def __init__(self, name):
self.name = name
上記の例では、Dog
クラスのインスタンスが生成されるとき、その名前をname
引数から取得し、self.name
というインスタンス変数に保存します。
まとめ
Pythonのself
と__init__
は、クラスとそのインスタンスを理解するための重要な要素です。これらを理解することで、Pythonのクラスとオブジェクト指向プログラミングをより深く理解することができます。