クラスメソッド内でクラス変数にアクセスする

スポンサーリンク

クラスメソッド内でクラス変数にアクセスしてみます。

■今回の環境(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()で文字列を出力させることができました。

コメント

タイトルとURLをコピーしました