python的enum枚举数据类型的实现

    枚举类型最大的优点直观, 省事.  举个常用的例子,你要表示星期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。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">