クラスメソッド内でクラス変数にアクセスしてみます。
■今回の環境(Python)
Google Colaboratory(Google Colab),2023年3月18日時点ではPython 3.9.16が用いられる。
■クラスメソッド内でクラス変数にアクセスする
では、早速クラスメソッド内でクラス変数にアクセスするコードを書いてきます。
■コード
class MyClass: class_variable = "こんにちは、世界" @classmethod def my_class_method(cls): print(cls.class_variable) MyClass.my_class_method()
今回はMyClassというオブジェクトを作成するためのテンプレート(設計図)であるクラスを定義します。定義後、クラス内でclass_variableというクラス変数を定義し、その中に日本語の文字列を格納します。次に@classmethodデコレータを使用し、def文を用いてmy_class_methodというクラスメソッドを定義します。括弧内には引数,パラメータとして、クラス自身を表す特殊なオブジェクトである「cls」を設定します。設定後、メソッドが呼び出された時に実行される処理として、clsに対して(.)ドット演算子を用いてclass_variableを指定し、クラス変数にアクセスできるようにします。アクセス後、クラス変数内の情報をprint()で出力するという処理を記述します。
記述後、定義したクラスであるMyClassに対して(.)ドット演算子を用いてmy_class_method()を指定し、メソッドを呼び出します。
■実行・検証
このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。
実行してみると、「MyClass.my_class_method()」と記述したことで、クラスメソッドの処理が実行され、print()で文字列を出力させることができました。
コメント