Pythonのクラス属性(Class Attributes)について解説しています。
クラス属性(Class Attributes)は、オブジェクトを作成するためのテンプレート(設計図)であるクラスのすべてのオブジェクトによって共有される、またはクラスで直接定義される変数のこと。
■Python
今回は、Google Colaboratoryを用います。Google ColaboratoryのPythonのバージョンは、記事作成時点では「3.7.13」となっています。
■クラスの定義を行い、クラス内にクラス属性(Class Attributes)を定義する
実際に、クラスの定義を行い、クラス内にクラス属性(Class Attributes)を定義してみます。
■コード
class fruits: fruitsname = "バナナ"
今回は、fruits(フルーツ)というクラスを宣言し、fruitsnameというクラス属性(Class Attributes)を定義します。この属性の中には「バナナ」という文字列,値が格納されています。
今回定義したfruitsnameというクラス属性(Class Attributes)は、変更しない限り、すべてのオブジェクトで同じままとなります。
今回宣言したfruits(フルーツ)というクラスの属性に対してアクセスした場合と、sweetfoodという変数を定義し、その中でfruits()を用いて、オブジェクトを作成するプロセスである「インスタンス化」を行い、作成したオブジェクトからクラスの属性に対してアクセスする場合は、同じ結果が返されます。
なお、クラス名を使用しクラス属性(Class Attributes)の値を変更すると、すべてのインスタンスで値が変更されます。
変更されますが、オブジェクトを作成するプロセスであるインスタンス化を行い、作成されたオブジェクトを使用し、クラスの属性の値を変更しても、他のインスタンス化を行い、作成されたオブジェクトやクラスには反映されない。
コメント