Pythonのクラス属性(Class Attributes)は、オブジェクトを作成するためのテンプレート(設計図)であるクラスのすべてのオブジェクトによって共有される、またはクラスで直接定義される変数のことです。
クラス属性の定義
クラス属性は、クラスのすべてのインスタンスによって共有されます。クラス属性を定義するには、__init__()メソッドの外部でそれを配置します。
class MyClass:
class_attribute = 'This is a class attribute'
クラス属性のアクセス
クラス属性にアクセスするには、class_name.class_attributeまたはobject_name.class_attributeを使用して、class_attributeの値にアクセスします。
print(MyClass.class_attribute) # Output: This is a class attribute
my_instance = MyClass()
print(my_instance.class_attribute) # Output: This is a class attribute
クラス属性は、クラス自体とそのすべてのインスタンスによって共有されます。したがって、クラスまたはそのインスタンスのいずれかから属性を変更すると、その変更はクラス自体とそのすべてのインスタンスに反映されます。
クラス属性とインスタンス属性
クラス属性とインスタンス属性の主な違いは、クラス属性はクラスのすべてのインスタンスによって共有されるのに対し、インスタンス属性はそのインスタンスに固有であるということです。
class MyClass:
class_attribute = 'This is a class attribute'
def __init__(self):
self.instance_attribute = 'This is an instance attribute'
my_instance = MyClass()
print(my_instance.class_attribute) # Output: This is a class attribute
print(my_instance.instance_attribute) # Output: This is an instance attribute
この記事では、Pythonのクラス属性について基本的な概念を紹介しました。これらの概念は、Pythonでのオブジェクト指向プログラミングを理解するための基礎となります。.