偏函数

什么是偏函数?

就是当函数的参数太多的时候,需要简化,使用(functools.partial)可以创建一个新的函数,这个函数可以固定住原来的参数的部分参数,从而在调用的时候更加的简单。

举个例子:

int()函数可以把字符串转化成整数,当传入字符串的时候 ,int()函数默认以十进制的方式转换

s = int("12345")
print(s)#12345

int()函数还提供了base参数默认是10进制,如果传入base参数,可以做N进制的转换

s = int("12345",base=16)
    print(s)
    #输出:74565

如果传入大量的N进制的字符串的话,可以定义一个函数,把base=N传进去

def int2(x,base=2):
    return int(x,base)
    print(int2("101010"))#42
####################################

 def int2(x,base=16):
    return int(x,base)
     print(int2("123456"))#1193046

 

总结:functolls.partial的作用就是把一个函数的某些参数设置为默认值,然后返回一个新的函数,然后再调用这个函数。

在创建偏函数的时候,实际上可以接收函数的参数 *args **kw。

传入int2 = functools.partial(int,base=2)

相当于:kw = {"base":2}    int("10010",**kw)

原文地址:https://www.cnblogs.com/wqzn/p/10246768.html