Pythonにおける属性は、オブジェクトが持つ値や状態を表します。属性には「データ」と「処理」の2つがあり、データのことを「プロパティ」、処理のことを「メソッド」といいます。
Pythonの属性には主に2種類あります。それらはクラス変数とインスタンス変数です。
クラス変数
クラス変数は、そのクラスのすべてのインスタンスによって共有される属性やメソッドのためのものです。クラス変数は、クラス定義文の直下で代入された変数として定義されます。
class GirlFriend:
# クラス変数
max_intimacy = 100
min_intimacy = 0
インスタンス変数
一方、インスタンス変数はそれぞれのインスタンスについて固有のデータのためのもので、関数定義文の直下で代入されたselfの属性として定義されます。
class GirlFriend:
def __init__(self, name):
# インスタンス変数
self.name = name
self.intimacy = 0
このように、Pythonの属性はオブジェクト指向プログラミングにおける重要な概念であり、クラス変数とインスタンス変数の理解はPythonプログラミングの基礎となります。.