>  기사  >  백엔드 개발  >  Python 열거형이란 무엇입니까? Python 열거 유형에 대한 간략한 소개

Python 열거형이란 무엇입니까? Python 열거 유형에 대한 간략한 소개

不言
不言앞으로
2018-10-10 16:07:502127검색

이 기사에서는 Python 열거형이 무엇인지 설명합니다. Python 열거형에 대한 간략한 소개에는 특정 참고 가치가 있습니다. 도움이 필요한 친구가 참고할 수 있기를 바랍니다.

1: 열거형 정의
2: 열거형 클래스와 일반 클래스의 차이점
1: 값은 불변입니다.
2: 다음과 같은 기능을 갖습니다. 동일한 라벨을 방지하면 서로 다른 태그의 값이 동일할 수 있습니다!

Three: 열거 유형, 열거 값, 열거 이름
1: VIP.YELLOW.Value 태그 값 가져오기
2: VIP.BLACK.name 태그 이름 가져오기
3: 열거형 부분은 열거형입니다!

4: 열거형 간의 비교
1: 동등 비교를 지원하지만 크기 비교는 지원하지 않음
2: 서로 다른 열거형 클래스 간의 비교#🎜🎜 #

5 : 열거에 대한 참고 사항

서로 다른 태그의 값이 동일한 경우 두 번째 태그는 별칭으로 처리되어 호출 시 덮어쓰게 됩니다!
순회할 때 인쇄되지 않습니다. 해결 방법은 다음과 같습니다.

for v in VIP.__members__.items():
        print(v)

6: 열거형 변환

데이터베이스에서 특정 값에 해당하는 값을 제거합니다. = 1), a

a = 1
print(VIP(a))

Seven: Others

1: IntEnum 유형 설명: 모든 열거형은 int 유형입니다!
2: 열거 유형의 값이 동일하지 않도록 제한

# ----------------------------------------------#
# 定义一个枚举类型
# ----------------------------------------------#
from enum import Enum
from enum import IntEnum, unique
class VIP(Enum):
    YELLOW = 1
    GREEN = 2
    BLACK = 3
    RED = 4


class Common:
    YELLOW = 2


# 注意这里显示的是VIP.Black而不是3,枚举的意义重在标签而不是标签的值
print(VIP.BLACK)


# ----------------------------------------------------#
# 枚举类和普通类的区别
# 字典和普通类封装数据:   1:可变    2:没有防止相同标签得功能
# ----------------------------------------------------#

# VIP.GREEN = 6     # 当改变值得时候报错

Common.YELLOW = 9   # 改变类变量的值
print(Common.YELLOW)
x = Common()           # 类的实例化
print(x.YELLOW)

# ----------------------------------------------#
# 枚举类型、枚举值、枚举名称
# ----------------------------------------------#
print("Black = ", VIP.BLACK.value)  # get value of Enum

print("name = ", VIP.BLACK.name)  # get value of Name,the type of name is str

print(VIP.BLACK)        # 名字为枚举类型

print(VIP['BLACK'])

# 枚举可以被遍历
for v in VIP:
    print(v)


# ----------------------------------------------#
# 枚举之间的比较,支持等值比较,不支持大小比较
# ----------------------------------------------#

result1 = VIP.GREEN == VIP.BLACK
result2 = VIP.GREEN.value == 2    # 注意这里的结果
print(result1, result2)


class VIP1(Enum):
    YELLOW = 1
    GREEN = 2
    BLACK = 3
    RED = 4
    WRITE = 5


result3 = VIP.GREEN == VIP1.GREEN
print(result3)

# ----------------------------------------------#
# 枚举注意事项
# ----------------------------------------------#


class VIP2(Enum):
    YELLOW = 1
    GREEN = 1   # 别名
    BLACK = 3
    RED = 4


for v in VIP2:
    print(v)

for v in VIP2.__members__.items():
    print(v)

for v in VIP2.__members__:
    print(v)

# ----------------------------------------------#
# 枚举转换
# ----------------------------------------------#

a = 1
print(VIP(a))       # 可以看做是类型转换

# ----------------------------------------------#
# 枚举补充
# ----------------------------------------------#

# 1:IntEnum类型说明


class VIP3(Enum):
    YELLOW = 1
    GREEN = "str"   # 别名
    BLACK = 3
    RED = 4


class VIP4(IntEnum):
    YELLOW = 1
    # GREEN = 'str'   # 字符串报错
    BLACK = 3
    RED = 4


# 2:限制枚举类型的值不能一样
@unique
class VIP6(Enum):
    YELLOW = 1
    GREEN = 1   # 当值相同的时候会报错!
    BLACK = 3
    RED = 4

위 내용은 Python 열거형이란 무엇입니까? Python 열거 유형에 대한 간략한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제