カテゴリー
Python

クラス変数とクラスメソッドについて知ろう

この章ではクラス変数とクラスメソッドについて説明します。
「クラスについて知ろう」の「補足」では3つのオブジェクトであるbanks, banks2, banks3を作成しましたが、この中のzandaka変数は3つのオブジェクトであるbanks, banks2, banks3ごとに違った値を保持することができました。
クラス変数はオブジェクトが何個あってもクラスに共通の1つの変数です。
では例をみてみましょう。999 この例のクラス変数はgoukeiとzandaka です。
インスタンス変数はselfに関連付けされていましたが、クラス変数はclsに関連付けされて記述されます。
クラスメソッドはクラスメソッドにしたいメソッドの上に9を付けます。
そしてクラスメソッドの第一引数にはclsを記述します。
clsはクラス自身を意味します。
これはインスタンスメソッドがselfを付けるのと同じ理由です。
次にクラス変数へのアクセス方法について説明します。
クラス変数に値を入れたいのであれば9と言う形式で書きます。
例えばクラス変数zandakaに値を設定したい場合には9と書きます。
次にクラスメソッドへのアクセス方法について説明します
クラスメソッドにデータを入れたいのであれば9と言う形式で書きます。
例えばnyuukin メソッドにデータを入れたいのであれば9と書きます。
このようにクラス変数とクラスメソッドはオブジェクトを作成しないでもクラス名でアクセスすることができます。
この例では何回訪問したかをカウントするcountメソッドがありますが、このメソッドはgoukei変数にそのカウントした数が保存されます。
Bank.count()が2回書かれているので2個目のgoukei変数は2になります。
インスタンス変数みたいにオブジェクトごとにデータが変わることはなく、goukei変数はただ一つのデータだけを持ちます。
zandaka変数も同じ事です。
結果は以下の通りです。9