열거는 일반적으로 사용되는 함수입니다. Python의 열거를 살펴보세요.
from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
@uniqueclass Weekday(Enum): Sun = 0 # Sun的value被设定为0 Mon = 1Tue = 2Wed = 3Thu = 4Fri = 5Sat = 6
for name, member in Month.__members__.items(): print(name, '=>', member, ',', member.value)
열거 정의
먼저, 열거를 정의하려면 열거형 모듈.
열거형은 class 키워드를 사용하여 정의되며 Enum 클래스를 상속합니다.
참고:
열거를 정의할 때 멤버 이름은 반복될 수 없습니다.
기본적으로 다른 멤버 값은 동일할 수 있습니다. 하지만 같은 값을 가진 두 멤버의 경우 두 번째 멤버의 이름은 첫 번째 멤버의 별칭으로 간주됩니다
열거에 같은 값을 가진 멤버가 있는 경우, 열거형 멤버를 값으로 구할 때, 첫 번째 멤버
<em><span style="font-family: 宋体"> </span></em><span style="font-family: 宋体; font-size: 15px">如果要限制定义枚举时,不能定义相同值的成员。可以使用装饰器@unique【要导入unique模块】</span><span style="font-family: 宋体"><br><br><br></span><em><span style="font-family: 宋体"><br></span></em>
for name, member in Month.__members__.items(): print(name, '=>', member, ',', member.value)
<br>
Month.Jan
을 사용하여 직접 참조할 수 있는 Month
유형의 열거 클래스를 얻습니다. 상수 또는 열거형의 모든 멤버 Month
类型的枚举类,可以直接使用Month.Jan
来引用一个常量,或者枚举它的所有成员.
访问这些枚举类型可以有若干种方法:
枚举支持迭代器,可以遍历枚举成员
>>> day1 = Weekday.Mon>>> print(day1) Weekday.Mon>>> print(Weekday.Tue) Weekday.Tue>>> print(Weekday['Tue']) Weekday.Tue>>> print(Weekday.Tue.value)2>>> print(day1 == Weekday.Mon) True>>> print(day1 == Weekday.Tue) False>>> print(Weekday(1)) Weekday.Mon>>> print(day1 == Weekday(1)) True>>> Weekday(7) Traceback (most recent call last): ... ValueError: 7 is not a valid Weekday>>> for name, member in Weekday.__members__.items(): ... print(name, '=>', member) ... Sun => Weekday.Sun Mon => Weekday.Mon Tue => Weekday.Tue Wed => Weekday.Wed Thu => Weekday.Thu Fri => Weekday.Fri Sat => Weekday.Sat
枚举取值 总结:
通过成员的名称来获取成员;通过成员值来获取成员;通过成员,来获取它的名称和值.
注意: Enum
的成员均为单例(Singleton),并且不可实例化,不可更改.
枚举是可以比较的:
举成员可进行同一性比较,可进等值比较,不能进行大小比较.
总结:Enum
이 열거형 유형에 액세스하는 방법은 여러 가지가 있습니다. 열거는 열거형 멤버를 순회할 수 있는 반복자를 지원합니다.
Enum의 멤버
는 다음과 같습니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜열거는 비교 가능합니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜멤버는 동일성을 비교할 수 있습니다. 그리고 🎜 할 수 없어 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜요약: Enum
은 관련 상수 그룹을 정의할 수 있습니다. 클래스에서 클래스는 변경할 수 없으며 멤버를 직접 비교할 수 있습니다. , 열거형을 구현하는 방법에는 여러 가지가 있습니다. 🎜🎜🎜🎜위 내용은 Python 열거형 Enum의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!