다음 글에서는 python 의 열거형 클래스가 무엇인지 알아보겠습니다. python 열거형 클래스가 무엇인지, Python 열거형 클래스가 Python 프로그래밍에서 어떤 역할을 할 수 있는지 알아보세요.
열거의 정의
먼저, 열거를 정의하려면 열거 모듈을 가져옵니다.
열거형 정의는 class 키워드를 사용하고 Enum 클래스를 상속합니다.
참고:
열거를 정의할 때 멤버 이름은 반복될 수 없습니다.
기본적으로 다른 멤버 값은 허용됩니다. 동일하다. 하지만 같은 값을 가진 두 멤버의 경우 두 번째 멤버의 이름은 첫 번째 멤버의 별칭으로 간주됩니다
열거에 같은 값을 가진 멤버가 있는 경우 다음과 같이 열거형 멤버를 가져올 때 값, 첫 번째 멤버만 얻을 수 있습니다
열거형의 정의를 제한하려는 경우 동일한 값을 가진 멤버를 정의할 수 없습니다. 데코레이터 @unique를 사용하여 [고유 모듈을 가져올 수 있습니다]
상수를 정의해야 할 때 한 가지 방법은 대문자 변수를 사용하여 정수로 정의하는 것입니다. 예를 들어 월: # 🎜🎜#
JAN = 1 FEB = 2 MAR = 3 ... NOV = 11 DEC = 12장점은 간단하다는 점이지만, 단점은 유형이 int이고 여전히 변수라는 점입니다. 더 나은 접근 방식은 이러한 열거형에 대한 클래스 유형을 정의하는 것입니다. 그러면 각 상수는 클래스의 고유한 인스턴스가 됩니다. Python은 이 함수를 구현하기 위해 Enum 클래스를 제공합니다.
from enum import Enum Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))이 방법으로 Month.Jan을 직접 사용하여 상수를 참조하거나 모든 멤버를 열거할 수 있습니다. :
for name, member in Month.__members__.items(): print(name, '=>', member, ',', member.value)value 속성은 멤버에 자동으로 할당되는 int 상수이며 기본적으로 1부터 계산됩니다. 열거형 유형에 대한 더 정확한 제어가 필요한 경우 Enum에서 사용자 정의 클래스를 파생시킬 수 있습니다.
from enum import Enum, unique @unique class Weekday(Enum): Sun = 0 # Sun的value被设定为0 Mon = 1 Tue = 2 Wed = 3 Thu = 4 Fri = 5 Sat = 6@unique 데코레이터는 열거형 유형이 없는지 확인하는 데 도움이 됩니다. 값이 중복됩니다. 이 열거형 유형에 액세스하는 방법은 여러 가지가 있습니다.
>>> 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멤버 이름을 사용하여 열거형 상수를 참조할 수 있고, 열거형을 기반으로 직접 열거형을 얻을 수도 있음을 알 수 있습니다. 값 상수의 값에 대해. 본 글은
파이썬 열거형 클래스 관련 지식을 위주로 소개한 내용입니다. 무슨 말인가. 이 글에서 제가 설명한 내용이 여러분에게 도움이 되고 파이썬을 더 쉽게 배울 수 있기를 바랍니다.
더 많은 관련 지식을 보려면 PHP 중국어 웹사이트Python 튜토리얼 컬럼을 방문하세요.
위 내용은 Python 열거형 클래스 정의 및 함수(예제 분석)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!