枚举类型最大的优点直观, 省事.  举个常用的例子,你要表示星期1-7,你可以用int1-7,但是当你把它作为参数的时候,有时后你就给考虑传入0,8的情况.而且用数字表示还需要相应的注释和文档.

这个时候你定义个一个枚举CreateDate,名字就叫字面就叫Monday , Tuesday ,….就行,直观,并且值可控.


文章写的不是很严谨,欢迎来喷,另外该文后续有更新的,请到原文地址查看更新. 

http://xiaorui.cc/2016/01/05/python%E7%9A%84enum%E6%9E%9A%E4%B8%BE%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%AE%9E%E7%8E%B0/


当然更多人还是喜欢直接用常量。

python在3.4版本中已经自带了enum枚举类型,如果你是3.4之前的python版本,那么可以pip install enum34 

以前想实现类似枚举的功能是用一个类表示的。 


我们来测试下enum34模块带的枚举功能.  enum34原始的api有些怪异,如果不对其封装是不怎么好用的.


我们来封装一下enum,好让我们更舒服的获取索引位置. 

如果想取到具体的值value,那么就封装字典的模式. 

enum实现起来本身就简单,不需要安装enum34模块。 我们自己来实现enum枚举的功能. 

Python enum枚举就说这么多了.   虽然枚举这功能不经常使用,但也不至于在python3.4才集成enum。



对Python及运维开发感兴趣的朋友可以加QQ群 : 478476595 !!!
{ 2000人qq大群内有各厂大牛,常组织线上分享及沙龙,对高性能及分布式场景感兴趣同学欢迎加入该QQ群 }

另外如果大家觉得文章对你有些作用!   帮忙点击广告. 一来能刺激我写博客的欲望,二来好维护云主机的费用.
如果想赏钱,可以用微信扫描下面的二维码. 另外再次标注博客原地址  xiaorui.cc  ……   感谢!
暂无相关产品

发表评论