다음 열거 형을 정의했습니다.
from enum import Enum
class D(Enum):
x = 1
y = 2
print(D.x)
이제 인쇄 된 값은
D.x
대신 enum의 값이 인쇄되기를 원했습니다.
1
이 기능을 달성하기 위해 할 수 있습니까?
답변
열거 형 개체를 인쇄하고 있습니다. .value
인쇄하려는 경우 속성을 사용하십시오 .
print(D.x.value)
열거 형 멤버 및 해당 속성에 대한 프로그래밍 방식 액세스 섹션을 참조하십시오 .
열거 형 멤버가 있고 해당 이름 또는 값이 필요한 경우 :
>>> >>> member = Color.red >>> member.name 'red' >>> member.value 1
__str__
원하는 모든 것이 사용자 지정 문자열 표현을 제공하는 것이라면 열거 형에 메서드를 추가 할 수 있습니다 .
class D(Enum):
def __str__(self):
return str(self.value)
x = 1
y = 2
데모:
>>> from enum import Enum
>>> class D(Enum):
... def __str__(self):
... return str(self.value)
... x = 1
... y = 2
...
>>> D.x
<D.x: 1>
>>> print(D.x)
1
답변
다음을 사용하여 액세스를 구현했습니다.
class D(Enum):
x = 1
y = 2
def __str__(self):
return '%s' % self.value
이제 나는 할 수 있습니다
print(D.x)
1
결과 를 얻으려면 .
대신 self.name
인쇄하려는 경우 에도 사용할 수 있습니다 .x
1
답변
Enum
문자열을 사용하여 액세스 할 때이 페이지를 찾았습니다 . 나는 이것이이 특별한 질문에서 묻는 것이 아니라 제목이 그것을 ‘제안’한다는 것을 알고 있습니다.
문자열을 사용하여 Enum을 얻으려면 다음을 수행 할 수 있습니다.
from enum import Enum
class D(Enum):
x = 1
y = 2
print(D["x"]) # <D.x: 1>