python 学习汇总56:Enum类(初级学习- tcy)
发布日期:2021-06-29 14:47:19 浏览次数:3 分类:技术文章

本文共 1275 字,大约阅读时间需要 4 分钟。

Enum类  2018/8/12 
1.应用:定义常量时value属性则是自动赋给成员的int常量,默认从1开始计数from enum import EnumMonth = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun','Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))type(Month),type(Month.Jan)#(enum.EnumMeta, 
) 属性:Month.Feb.name#'Feb'Month.Feb.value#2

 

for name, member in Month.__members__.items():print(name, '=>', member, ',', member.value)#输出见备注1for i in Month:print(i,i.name,i.value) #输出见备注1

  

2.精确地控制枚举类型从Enum派生出自定义类:from enum import Enum, unique@unique #检查保证没有重复值class Weekday(Enum):Sun = 0 # Sun的value被设定为0Mon = 1Tue = 2Wed = 3Thu = 4Fri = 5Sat = 6 

 

属性:day1.name# 'Mon'day1.value#1day1.Sun.name# 'Sun'day1.Sun.value#0访问枚举类型:day1 = Weekday.Mon #
print(Weekday.Tue) #Weekday.Tueprint(Weekday['Tue']) #Weekday.Tueprint(Weekday.Tue.value) #2print(Weekday(1)) #Weekday.Mon    
备注1:
输出:

Jan => Month.Jan , 1

  Month.Jan Jan   1
Feb => Month.Feb , 2   Month.Feb Feb 2
Mar => Month.Mar , 3   Month.Mar Mar 3
Apr => Month.Apr , 4   Month.Apr Apr 4
May => Month.May , 5   Month.May May 5
Jun => Month.Jun , 6   Month.Jun Jun 6
Jul => Month.Jul , 7   Month.Jul Jul 7
Aug => Month.Aug , 8   Month.Aug Aug 8
Sep => Month.Sep , 9   Month.Sep Sep 9
Oct => Month.Oct , 10   Month.Oct Oct 10
Nov => Month.Nov , 11   Month.Nov Nov 11
Dec => Month.Dec , 12   Month.Dec Dec 12

 

转载地址:https://chunyou.blog.csdn.net/article/details/84251036 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:python 学习汇总57:class类定义(初级学习- tcy)
下一篇:python 学习汇总55:序列字典排序汇总sorted,heapq(查找最小值),bisect ,numpy.searchsorted(二分法排序)(- tcy)

发表评论

最新留言

初次前来,多多关照!
[***.217.46.12]2024年04月24日 04时18分32秒