Python 的枚举类型 enum 实现
来源:互联网 发布:淘宝 userid 加密算法 编辑:程序博客网 时间:2024/04/30 19:22
Python 的枚举类型 enum 实现
Horin | horin153@msn.com
C 语言中有个枚举类型 enum,很适合在定义一系列相关的常量时,由程序自动为常量分配 id,解决人工分配 id 可能导致的 id 冲突问题。在 Python 这种脚本语言中,当定义大量相关的常量时,如果由程序员人工分配,要么容易 id 冲突,要么不好进行 id 分段管理。其实,可以很简单地实现 Python 版的 enum(当然是没有类型检测的 enum 版本)。
实现代码如下:
def enum(module, str_enum, sep=None): """把用特定分隔符隔开的 str_enum 字符串实现为 module 的枚举值. @param module 宿主对象, 可以是 module, class, ... eg1: enum(test, "A B C") => test.A,test.B,test.C == 0,1,2 eg2: enum(CTest, 'one=1,two,three,ten=0x0A,eleven', sep=',') => CTest.one,CTest.two,CTest.ten, CTest.eleven == 1,2,10,11 """ idx = 0 for name in str_enum.split(sep): if '=' in name: name,val = name.rsplit('=', 1) if val.isalnum(): idx = eval(val) setattr(module, name.strip(), idx) idx += 1
- Python 的枚举类型 enum 实现
- Python 的枚举类型 enum 实现
- Python: Enum枚举的实现
- Python: Enum枚举的实现
- Python 的枚举 Enum
- python里使用enum库枚举类型的迭代
- python里使用enum库枚举类型的比较
- enum枚举类型的用法
- Enum枚举类型的使用
- enum枚举类型的使用
- 枚举类型ENUM的使用
- enum枚举类型的使用
- 枚举类型enum的用法
- Enum枚举类型的使用
- Enum(枚举类型)的应用
- python的枚举类 Enum
- python 枚举类型实现
- java枚举类型enum的使用
- Android 2.2 API 中文文档系列 (15) —— GridView
- “存储过程”的定义及优点
- DP(最长公共子串问题)
- Accurately Profiling Direct3D API Calls (Direct3D 9) 翻译笔记
- VS2010动态添加菜单项
- Python 的枚举类型 enum 实现
- Hibernate中的Session
- 有关Android SQLite编程的一些知识
- 解决/usr/bin/ld: cannot find XXX
- 常用日期转换参数
- Scripting.FileSystemObject 文件操作
- 给iframe传参数
- PHP中的java方式重载
- Exists,Datediff,Newid,