函数可以通过其参数来调度

arg-dispatch的Python项目详细描述


arg_调度

函数可以通过其参数进行调度

示例

fromarg_dispatchimportdispatch# Functions@dispatchdefdemo(a,b):return'hello'@dispatchdefdemo(c):return'world'demo(a=1,b=2)# return 'hello'demo(c=3)# return 'world'# try to call a function which has not been registeddemo(d=4)# raise `FunctionNotRegist`# MethodsclassDemo(object):@dispatchdefdemo(self,a,b):return'hello'@dispatchdefdemo(self,c):return'world'instance=Demo()instance.demo(a=1,b=2)# return 'hello'instance.demo(c=3)# return 'world'# try to call a method which has not been registedinstance.demo(d=4)# raise `FunctionNotRegist`

注意

位置参数必须是必需的

demo(1,2)# Boom!?, raise `ArgumentError`instance.demo(1,2)# Boom!?, raise `ArgumentError`

也不支持默认值

@dispatchdefdemo(a,b=1):# Boom!?, raise `ExistDefaultValue`return'hello'classDemo(object):@dispatchdefdemo(self,a,b=1):# Boom!?, raise `ExistDefaultValue`return'hello'

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java FileHandle在libgdx中的行为异常   java JSONObject文本必须在1[字符2第1行]处以“{”开头,在使用HTTPClient自动化API时出现此错误   java如何删除域下不同路径的所有cookie   项目间的java Log4j共享   java propertyChangeListeners连锁反应,导致溢出   java gradle测试错误:retrolambda。oldJdk   java IDE没有给出错误,但ArrayList无法工作   web服务Java大字符串压缩安全方法   java如何从奥地利ecard将ResponseADU解码为XML?   java RxJava 2将事件并行化以执行,并产生副作用   java在jni的CallStaticObjectMethod的引用上使用DeleteLocalRef   java递归查找字符串中出现的字母数   java为什么SBT想要获得组织。scalasbt是否已安装?   java如何动态地增加布局,并知道用户点击了哪个布局?   条形图上未设置java截击响应数据