类似于functools.singledispatch,但对于值
datadispatch的Python项目详细描述
数据调度
data dispatch提供了一种类似functools.singledispatch
的分派机制(也称为多态性),但它对数据而不是类型进行操作。如果您要创建简单的以数据为中心的应用程序,而不需要诉诸类型或类,那么这非常有用。
数据调度可通过pip:pip install datadispatch
用法示例
fromdatadispatchimportdatadispatch@datadispatch(lambdaargs,_:args[0].get('type'))defhandle(message):raiseValueError('cannot handle message: {}'.format(message))@handle.register('ping')def_(message):return'you sent ping'@handle.register('pong')def_(message):return'you sent pong'print(handle({'type':'ping','payload':'hello'}))