是否有专门的方法来获取python"Enum"中的项目数量?

iag*_*ito 18 python enums python-3.x

说我有这样一个python Enum类:

from enum import Enum

class Mood(Enum):
    red = 0
    green = 1
    blue = 2
Run Code Online (Sandbox Code Playgroud)

是否有一种自然的方式来获得物品的总数Mood?(像,而无需遍历它,或添加一个额外的n项,或额外的n classproperty,等等).

enum模块是否提供这样的功能?

Eth*_*man 26

是. Enum有一些普通课没有的额外能力:

class Example(Enum):
    this = 1
    that = 2
    dupe = 1
    those = 3

print(len(Example))  # duplicates are not counted
# 3

print(list(Example))
# [<Example.this: 1>, <Example.that: 2>, <Example.those: 3>]

print(Example['this'])
# Example.this

print(Example['dupe'])
# Example.this

print(Example(1))
# Example.this
Run Code Online (Sandbox Code Playgroud)


Dee*_*ace 9

你试过print(len(Mood))吗?