python的组合型枚举
时间: 2024-03-11 12:42:48 浏览: 100
python 实现 组合模式
Python中没有内置的组合型枚举,但可以通过使用类和常量来模拟实现组合型枚举。下面是一种常见的实现方式:
```python
class Enum:
def __init__(self, *args):
self.enum_values = args
def __getattr__(self, name):
if name in self.enum_values:
return name
raise AttributeError(f"'{self.__class__.__name__}' object has no attribute '{name}'")
# 定义组合型枚举
Color = Enum('RED', 'GREEN', 'BLUE')
Size = Enum('SMALL', 'MEDIUM', 'LARGE')
# 使用组合型枚举
color = Color.RED
size = Size.SMALL
print(color) # 输出: RED
print(size) # 输出: SMALL
```
在上述代码中,我们定义了一个`Enum`类,它接受一系列参数作为枚举值。然后,我们可以通过实例化`Enum`类来创建不同的枚举类型,例如`Color`和`Size`。通过访问这些枚举类型的属性,我们可以获取对应的枚举值。
阅读全文