Pythonのクラスメソッドでは、self
という特殊な引数がよく使われます。このself
は、現在使用されているクラスのインスタンスを指します。つまり、self
はその時点でのインスタンス自身を指します。
Pythonでは、クラスからインスタンスを生成してから、その中の関数を呼び出す場合、その関数は関数(function)としてではなく、メソッド(method)として呼び出されます。このメソッドには、インスタンス自身を引数として渡さなければならない設定になっています。このインスタンス自身を入れる引数には習慣としてself
が使われます。
また、クラス内で定義される関数をメソッドと呼びます。クラス内で複数のメソッドを定義することも可能です。
Pythonのクラス構造はインスタンスの生成により、その処理を実行することができます。インスタンスは英語でinstance (=例、事例)であり、次のコードの変数aの部分がインスタンスになります。
class some_class:
def __init__(self,something):
self.something = something
a = some_class("some_value")
このように、Pythonのクラスメソッドとself
について理解することは、Pythonのオブジェクト指向プログラミングを理解する上で非常に重要です。