我最近熟悉了multipledispatch
module,而且非常漂亮。我可以做这样的事情,例如:
from multipledispatch import dispatch
class cls():
@dispatch(object)
def __init__(self, obj):
#construct a cls instance using obj#
@dispatch(int, int)
def __init__(self, a, b):
#construct a cls instance using x and y#
我想知道multipledispatch.dispatch
是否有办法在最后添加一个捕获任何和所有参数的方法。我试过查看文档,但没有看到这样做的方法。
我要做的是添加__init__
的最终版本,签名为(self, *args, **kwargs)
,以便我可以为之前{{1}中未考虑的所有其他参数组合设置自定义行为装饰版本。我尝试过做类似下面的事情,但它只在没有提供参数的情况下才有效:
@dispatch