Python: クラスメソド @classmethod

クラスメソドをやっていきましょう。

Contents

普通のクラスと使い方

インスタンス(オブジェクト)を作るときに、カッコを付けるのが普通ですが、カッコをつけない場合は、アトリビュートにアクセスできなくなります。

オブジェクト内のグローバル変数的な意味合いのある”クラス変数”にはアクセスできます。

 

本題:クラスメソド @classmethod

 

カッコをつけてオブジェクト化していなくても、アトリビュートにアクセスできるようにクラスメソドを使います。

やり方:

(1)メソドの前行に @classmethod とマーキングする。

(2)メソドの引数self を clsに変更する。cls = classの意味

kenji3はクラスのままでオブジェクト化されていませんが、@classmethodでマーキングしたメソドはちゃんと使えるようになりました。

次回はスタティックメソド @staticmethod をやってみます。