Discuss / Python / 作业

作业

Topic source

EddieLau_

#1 Created at ... [Delete] [Delete and Lock User]
@unique
class Gender(Enum):
    Male = 0
    Female = 1

class Student(object):
    def __init__(self, name, gender):
        self._name = name
        
        if isinstance(gender, Gender): # 传入"Gender"枚举对象
            self._gender = gender
        elif isinstance(gender, str): # 传入枚举key
            if not gender in Gender.__members__: raise ValueError('"gender"参数非法')
            self._gender = Gender[gender]
        elif isinstance(gender, int): # 传入枚举value
            if not gender in set(g.value for g in Gender): raise ValueError('"gender"参数非法')
            self._gender = Gender(gender)


    @property
    def name(self):
        return self._name

    @property
    def gender(self):
        return self._gender

  • 1

Reply