python中偏函数的的理解

版权声明: https://blog.csdn.net/qq_21578125/article/details/86134252

python中的偏函数:

#Partial function application(PFA)
#只设置了一部分的参数的函数
#固定一部分参数,使得被调用时,某些参数被固定住了。


#例如我们要定义一个函数将传进来的16进制的字符串,转换为10进制的

    def hex2int(num):
        return  int(str(num),base=16)

#base为关键字参数,这个在调用int这个函数时,固定给16。因为这个函数就是用来转换16进制到10进制

hex2int('F')#这时调用,相当于实际上会把10作为*args的一部分自动加到左边,也就是:int('F',base=16),这样就少写了一个函数


#这时也可以使用偏函数,固定int函数的关键字参数base,可以这样定义:
import functools
hex2int2=functools.partial(int,base=16)
#hex2int2('A')


#偏函数能固定位置参数?
#可以
max100=functools.partial(max,100)#定义一个叫max100的偏函数,将这个偏函数的第一个值固定为100
max100(101)#这时调用它,传入的值,都会与100进行比较反并返回。

type(max100)#偏函数的类型与普通函数不一样
python

猜你喜欢

转载自blog.csdn.net/qq_21578125/article/details/86134252