python中的偏函数

今天写一个叫做偏函数的东西,它可以让我们在传入参数的时候自动传入参数。
定义: 偏函数是将所要承载的函数作为 partial() 函数的第一个参数,原函数的各个参数依次作为 partial() 函数后续的参数,除非使用关键字参数

例子:

# @Time    : 2019/6/19 下午 2:33
# @Author  : lh
# @Email   : 22@qq.com
# @File    : 偏函数.py
# @Software: PyCharm
import functools


def index(a, b):
    return a + b


print(index(1, 1))  # 2

# 加入偏函数的使用
index = functools.partial(index, 1)
print(index(1)) # 2

上面的例子用的加法讲解的偏函数,无法体会偏函数参数的位置问题,容易给人造成partial的第二个参数也是原函数的第二个参数的假象,所以我在这里选择取余数来讲解。

import functools

# 无法体会偏函数参数的位置问题,容易给人造成partial的第二个参数也是原函数的第二个参数的假象
def remainder(m, n):
    return m % n

print(remainder(100, 7)) # 2

# 使用偏函数的
new_rmd = functools.partial(remainder, 100)
print(new_rmd(7)) # 2
posted @ 2019-06-20 15:59  a_py  阅读(466)  评论(0编辑  收藏  举报