python学习之偏函数partial

偏函数的使用

  1. 作用:可以给已有的函数传入一部分参数,将其打包成另外一个函数
  2. 源码:https://docs.python.org/3.7/library/functools.html#functools.partial
    def partial(func, *args, **keywords):
        def newfunc(*fargs, **fkeywords):
            newkeywords = keywords.copy()
            newkeywords.update(fkeywords)
            return func(*args, *fargs, **newkeywords)
        newfunc.func = func
        newfunc.args = args
        newfunc.keywords = keywords
        return newfunc
    
    partial函数本质上定义了一个闭包函数,再将newfunc返回
  3. 用法:
    import functools
    
    def add(a1, a2):
        return a1 + a2
    
    new_add = functools.partial(add, 1)
    print(new_add(2))
    
    new_add(2)等价于add(1, 2),只是参数a1固定成了1

你可能感兴趣的:(Python3,学习)