扩展枚举类型
(类来自 pyomo.common.enums)
- class pyomo.common.enums.ExtendedEnumType(cls, bases, classdict, **kwds)[source]
基础类:
EnumType用于创建扩展另一个Enum的
enum.Enum的元类通常,
enum.Enum类是不可扩展的:也就是说, 它们在定义时被冻结,不能作为另一个枚举的基类。这个元类提供了一种解决方法,用于创建一个扩展现有枚举的新枚举。基枚举中的所有成员都会作为扩展枚举的成员存在。示例
class ObjectiveSense(enum.IntEnum): minimize = 1 maximize = -1 class ProblemSense(enum.IntEnum, metaclass=ExtendedEnumType): __base_enum__ = ObjectiveSense unknown = 0
>>> list(ProblemSense) [<ProblemSense.unknown: 0>, <ObjectiveSense.minimize: 1>, <ObjectiveSense.maximize: -1>] >>> ProblemSense.unknown <ProblemSense.unknown: 0> >>> ProblemSense.maximize <ObjectiveSense.maximize: -1> >>> ProblemSense(0) <ProblemSense.unknown: 0> >>> ProblemSense(1) <ObjectiveSense.minimize: 1> >>> ProblemSense('unknown') <ProblemSense.unknown: 0> >>> ProblemSense('maximize') <ObjectiveSense.maximize: -1> >>> hasattr(ProblemSense, 'minimize') True >>> ProblemSense.minimize is ObjectiveSense.minimize True >>> ProblemSense.minimize in ProblemSense True
- __init__(*args, **kwargs)
方法
__init__(*args, **kwargs)mro()返回一个类型的方法解析顺序。
成员文档
- mro()
返回一个类型的方法解析顺序。