跳转到主要内容

更精细的functools.singledispatch

项目描述

类似于functools.singledispatch,但允许为每个类注册多个函数。

如果已注册的函数在检查值后决定无法处理,它可以选择放弃并让其他函数尝试

from allot import allot, Pass

@allot
def f(obj):
    return 'object'

@f.register(int)
def f_small_integer(obj):
    if obj > 10:
        return Pass
    return 'small integer'

assert f('a string') == 'object'
assert f(3) == 'small integer'
assert f(10) == 'object'

项目详情


下载文件

为您的平台下载文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源代码分发

allot-0.2.tar.gz (18.3 kB 查看哈希)

上传时间: 源代码

构建分发

allot-0.2-py3-none-any.whl (38.8 kB 查看哈希)

上传时间: Python 3

支持