欢迎来到赛兔子家园

Python partial偏函数及用法

简单的理解偏函数,它是对原始函数的二次封装,是将现有函数的部分参数预先绑定为指定值,从而得到一个新的函数,该函数就称为偏函数。相比原函数,偏函数具有较少的可变参数,从而降低了函数调用的难度。

定义偏函数,需使用 partial 关键字(位于 functools 模块中),其语法格式如下:

偏函数名 = partial(func, *args, **kwargs)

其中,func 指的是要封装的原函数,*args 和 **kwargs 分别用于接收无关键字实参和关键字实参。

下面举几个例子,让大家可以直观感受一下偏函数的用法和功能。

from functools import partial

# 定义原函数

def display(name, age):
    print("name:{0}".format(name), "age:{0}".format(age))


# 定义偏函数,其封装了display()函数,并为name参数设置默认参数
GaryFun = partial(display, name="Gary")
# 由于name参数已经有默认值,因此调用偏函数时,可以不指定
GaryFun(age=13)

运行结果:

name:Gary age:13

例2:

from functools import partial

def mod(n, m):
    return n % m


# 定义偏函数,并设置参数n对应的实参值为 100
mod_by_100 = partial(mod, 100)
print(mod(100, 7))
print(mod_by_100(7))

结合以上示例不难分析出,偏函数的本质是将函数式编程、默认参数和冗余参数结合在一起,通过偏函数传入的参数调用关系,与正常函数的参数调用关系是一致的。
偏函数通过将任意数量(顺序)的参数,转化为另一个带有剩余参数的函数对象,从而实现了截取函数功能(偏向)的效果。在实际应用中,可以使用一个原函数,然后将其封装多个偏函数,在调用函数时全部调用偏函数,一定程序上可以提高程序的可读性。

posted on 2024-03-18 10:08  赛兔子  阅读(469)  评论(0)    收藏  举报

导航