Pythonでは、Enumpropertyデコレータを使用して、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クラスにnameageという2つのプロパティが定義されています。これらのプロパティは、それぞれ対応するインスタンス変数の値を取得するgetterと、値を設定するsetterを持っています。setterでは、設定しようとする値が適切でない場合(例えば、年齢が負の値である場合)にエラーを発生させることができます。

このように、PythonのEnumとgetter/setterを活用することで、コードの安全性と可読性を向上させることができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です