你需要枚举那些功能特性?
常量数值定义? 这个python没有定义常量的直接机制,一般是用大写字母变量标志常量的,也可以定义
# -*- coding: utf-8 -*-# filename: const.py class _const: class ConstError(TypeError) : pass def __setattr__(self key value): # self.__dict__ if self.__dict__.has_key(key): raise self.ConstError"constant reassignment error!" self.__dict__[key] = value import sys sys.modules[__name__] = _const()import const const.package_max_size = 10000实现常量只能定义一次的效果而枚举另外一个功能是限制变量的取值,这个python也没有直接的机制,你也只能通过其他如取值检测等符合要求再赋值等方式实现类似效果,或者在编程中直接注意(人工)
import const const.package_max_size = 10000
1.我们通常将一组常用的常数定义在一个class中,每个常量就是class的一个实例;2.当一个变量有几种可能的取值的时候,我们将它定义为枚举类型。
例如
from enum import Enum
from
enum
import
Enum
class Animals(Enum):
一个简单的枚举实现方法
class Enumerate(object): def __init__(selfnames): for numbername in enumerate(names.split()): setattr(self name number) codes = Enumerate('FOO BAR BAZ') print codes.FOO codes.FOO = 10 print codes.FOO