>  기사  >  백엔드 개발  >  Python 열거형 Enum

Python 열거형 Enum

巴扎黑
巴扎黑원래의
2017-06-23 15:32:431601검색

열거는 일반적으로 사용되는 함수입니다. 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)

열거 정의

  1. 먼저, 열거를 정의하려면 열거형 모듈.

  2. 열거형은 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이 열거형 유형에 액세스하는 방법은 여러 가지가 있습니다. 열거는 열거형 멤버를 순회할 수 있는 반복자를 지원합니다.

🎜🎜rrreee🎜🎜🎜열거 값 요약:🎜🎜🎜🎜 🎜이름으로 멤버 가져오기,🎜값으로 멤버 가져오기,🎜멤버별로 이름과 값 가져오기.🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜참고: Enum의 멤버는 다음과 같습니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜열거는 비교 가능합니다. 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜멤버는 동일성을 비교할 수 있습니다. 그리고 🎜 할 수 없어 🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜🎜요약: Enum은 관련 상수 그룹을 정의할 수 있습니다. 클래스에서 클래스는 변경할 수 없으며 멤버를 직접 비교할 수 있습니다. , 열거형을 구현하는 방법에는 여러 가지가 있습니다. 🎜🎜🎜🎜

위 내용은 Python 열거형 Enum의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.