lib_functions.py 文件源码

python
阅读 21 收藏 0 点赞 0 评论 0

项目:sidekick 作者: fabiommendes 项目源码 文件源码
def curry(func):
    """
    Return the curried version of a function.
    """

    spec = inspect.getfullargspec(func)
    if spec.varargs or spec.varkw or spec.kwonlyargs:
        raise TypeError('cannot curry a variadic function')

    def incomplete_factory(arity, used_args):
        return lambda *args: (
            func(*(used_args + args))
            if len(used_args) + len(args) >= arity
            else incomplete_factory(arity, used_args + args)
        )
    return incomplete_factory(len(spec.args), ())
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号