python中的偏函數

今天寫一個叫作偏函數的東西,它能夠讓咱們在傳入參數的時候自動傳入參數。
定義: 偏函數是將所要承載的函數做爲 partial() 函數的第一個參數,原函數的各個參數依次做爲 partial() 函數後續的參數,除非使用關鍵字參數python

例子:web

# @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的第二個參數也是原函數的第二個參數的假象,因此我在這裏選擇取餘數來說解。svg

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
相關文章
相關標籤/搜索