我有一段看起来像这样的代码:
funcs = {'one': self.one,
'two': self.two,
}
def dispatch(var):
funcs[var]()
但不仅仅是两个功能——最终需要几十个。我查看了PEP 443 - Single-dispatch generic,我认为它可能会有所帮助。但是,我不确定这是否是:
- 一个好主意——pythonic?
- 怎么做?
编辑:关于我做什么的更多信息......我正在获取我需要解析的命令(字符串)。根据接收到的命令,调用不同的解析器。命令的第一个词总是唯一的和预定义的,其余的取决于所述的第一个词。我可以创建一个完整的语法并这样做,但这是矫枉过正的。命令的示例是:
servo 0 start_move
head 5 0xff 0xab 0x34
...