另一个有用的容器是枚举对象,它属于enum 模块,存在于Python 3.4以上版本中(同时作为一个独立的PyPI包enum34 供老版本使用)。Enums(枚举类型)基本上是一种组织各种东西的方式。 让我们回顾一下上一个'Animal'命名元组的例子。 它有一个type字段,问题是,type是一个字符串。 那么问题来了,万一程序员输入了Cat ,因为他按到了Shift键,或者输入了'CAT',甚至'kitten'? 枚举可以帮助我们避免这个问题,通过不使用字符串。考虑以下这个例子: from collections import namedtuple
from enum import Enum
class Species(Enum):
cat = 1
dog = 2
horse = 3
aardvark = 4
butterfly = 5
owl = 6
platypus = 7
dragon = 8
unicorn = 9
kitten = 1
puppy = 2
Animal = namedtuple('Animal', 'name age type')
perry = Animal(name="Perry", age=31, type=Species.cat)
drogon = Animal(name="Drogon", age=4, type=Species.dragon)
tom = Animal(name="Tom", age=75, type=Species.cat)
charlie = Animal(name="Charlie", age=2, type=Species.kitten)
|