Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 1.34 KB

File metadata and controls

47 lines (31 loc) · 1.34 KB

三、自定义类型的枚举

但有些时候我们需要控制枚举的类型,那么我们可以 Enum 派生出自定义类来满足这种需要。通过修改上面的例子:

#!/usr/bin/env python3# -*- coding: UTF-8 -*-fromenumimportEnum, uniqueEnum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec')) # @unique 装饰器可以帮助我们检查保证没有重复值@uniqueclassMonth(Enum): Jan='January'Feb='February'Mar='March'Apr='April'May='May'Jun='June'Jul='July'Aug='August'Sep='September 'Oct='October'Nov='November'Dec='December'if__name__=='__main__': print(Month.Jan, '----------', Month.Jan.name, '----------', Month.Jan.value) forname, memberinMonth.__members__.items(): print(name, '----------', member, '----------', member.value)

输出的结果如下:

通过上面的例子,可以知道枚举模块定义了具有迭代 (interator) 和比较(comparison) 功能的枚举类型。 它可以用来为值创建明确定义的符号,而不是使用具体的整数或字符串。

close