Python的基于枚举的开关实现。
项目描述
Python的枚举开关
这是尝试为Python创建一种可靠、无bug的开关实现,类似于其他语言中的开关。
工作原理
假设你有一个枚举,如下所示
class Color(Enum):
RED = 1
GREEN = 2
BLUE = 3
并且你想实现基于类型为Color
的值的逻辑。你可以通过从Switch
类继承来实现。语法应该是显而易见的,但是
- 从Switch继承
- 为枚举的每个值实现一个方法
- 如果你没有实现所有这些:添加一个
default
方法。 - 如果你没有处理任何枚举值:实例化你的类时将引发异常。
然后
- 实例化你的类
- 将其作为函数调用,并传递来自枚举的值
- 将执行相应的函数,并返回其返回值
from enum_switch import Switch
class MySwitch(Switch):
def RED(self):
return "Apple"
def GREEN(self):
return "Kiwi"
def BLUE(self):
return "Sky"
switch = MySwitch()
print(switch(Color.RED))
Apple
就是这样。
一些额外的注意事项
- 传递非正确枚举类型的值将引发ValueError
default
是可选的
希望有人觉得它有用!
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
enum_switch-0.1.0.tar.gz (2.2 kB 查看哈希值)
构建分发版
enum_switch-0.1.0-py3-none-any.whl (2.1 kB 查看哈希值)
关闭
enum_switch-0.1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 77b47ec72d435a812225ba9ff92dd3f83ed9f5d2d75c987f81005075bc43aba8 |
|
MD5 | 2b4a79a8ef274b362e6477e9aad53447 |
|
BLAKE2b-256 | 8bd381f9da74d8ae4f1406bf0d3cb9451d543bffb037463badf71d2a3f1bd7b9 |
关闭
enum_switch-0.1.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fe00b2fb755b8638104c1a4a37917b7e7aff1b6f1c756a7e732135a5021369f4 |
|
MD5 | 7f10c8fe61b5a93e65c3fc756bff58b0 |
|
BLAKE2b-256 | fca54eee59949ae54502ad341ca5f63852084ad4793b0a13ce6bbee28a0b92b4 |