Pythonでは、Enum
とproperty
デコレータを使用して、getterとsetterを作成することができます。これにより、クラスのインスタンス変数を外部から参照したり、値を設定したりすることが可能になります。
以下に、PythonでのEnumとGetter/Setterの基本的な使用方法を示します。
from enum import Enum
class Student(Enum):
def __init__(self, name, age):
self.__name = name
self.__age = age
@property
def name(self):
return self.__name
@property
def age(self):
return self.__age
@age.setter
def age(self, age):
if age < 0:
raise ValueError("年齢が不正です")
self.__age = age
student = Student("Ryota",18)
student.age = 20
print(student.name) # Ryota
print(student.age) # 20
このコードでは、Student
クラスにname
とage
という2つのプロパティが定義されています。これらのプロパティは、それぞれ対応するインスタンス変数の値を取得するgetterと、値を設定するsetterを持っています。setterでは、設定しようとする値が適切でない場合(例えば、年齢が負の値である場合)にエラーを発生させることができます。
このように、PythonのEnumとgetter/setterを活用することで、コードの安全性と可読性を向上させることができます。