python中partial庫的使用方法解析
源碼解釋:
class partial: """New function with partial application of the given arguments and keywords. """
分部函數(shù)基于另一個函數(shù)來創(chuàng)建函數(shù)。它用于將值綁定到函數(shù)的參數(shù)(或關鍵字參數(shù)),并生成一個之前沒有定義參數(shù)的可調(diào)用函數(shù)。
functools.partial返回的是一個可調(diào)用的partial對象,使用方法是partial(func,args,*kw),其中func是必須要傳入的,而且至少需要一個args或是kw的參數(shù)。
示例代碼1:
from functools import partial # 定義一個加法函數(shù) def add(a, b, c): return a + b + c # 定義分部函數(shù),其中第一個參數(shù)已經(jīng)固定 ret = partial(add, 6) # 初始化前兩個參數(shù)并打印 print(ret(2, 4))
運行結果:
示例代碼2:
from functools import partial # 定義一個求冪函數(shù) def sq(a, b): return b ** a # 求平方 分部函數(shù) 第一個參數(shù)已經(jīng)確定 pingfang = partial(sq, 2) # 求立方 分部函數(shù) 第一個參數(shù)已經(jīng)確定 lifang = partial(sq, 3) # 求5的平方 print(pingfang(5)) # 求5的立方 print(lifang(5))
運行結果:
示例代碼3:
from functools import partial import requests def get_baidu(method, url): response = requests.request(method=method, url=url) return response.content res = get_baidu("get", "https://www.baidu.com") print(res) # 將函數(shù)和參數(shù)封裝到一個指定變量名中,下次執(zhí)行直接調(diào)用加() getBaidu = partial(get_baidu, 'get', "https://www.baidu.com") print(type(getBaidu)) # <class 'functools.partial'> ret = getBaidu() print(ret)
運行結果:
示例代碼4:
from functools import partial # 定義一個加減乘除的類 class Calculate(object): md = ["add", "minus", "multiplication", "division"] def __init__(self, method, num1=0, num2=0): self.num1 = num1 self.num2 = num2 if method in self.md: func = getattr(Calculate, method) print(func) self.result = func(self) def add(self): return self.num1 + self.num2 def minus(self): return self.num1 - self.num2 def multiplication(self): return self.num1 * self.num2 def division(self): return self.num1 / self.num2 add = partial(Calculate, "add") minus = partial(Calculate, "minus") multiplication = partial(Calculate, "multiplication") division = partial(Calculate, "division") print(add) print(minus) print(multiplication) print(division) print("*" * 100) print(add(3, 5)) print(add(3, 5).result) print(minus(3, 5).result) print(multiplication(3, 5).result) print(division(3, 5).result)
運行結果:
到此這篇關于python中partial庫的使用方法解析的文章就介紹到這了,更多相關python partial庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用Python開發(fā)游戲運行腳本成功調(diào)用大漠插件
閑來無事,想通過python來實現(xiàn)一些簡單的游戲輔助腳本,而游戲輔助腳本的主要原理就是通過程序來查找游戲程序窗口,模擬實現(xiàn)鼠標點擊和鍵盤按鍵等事件來實現(xiàn)游戲輔助的,對Python開發(fā)游戲運行腳本相關知識感興趣的朋友跟隨小編一起看看吧2021-11-11python通過socket搭建極簡web服務器的實現(xiàn)代碼
python的web框架眾多,常見的如django、flask、tornado等,其底層是什么還是有些許的疑問,所以查找相關資料,實現(xiàn)瀏覽器訪問,并返回相關信息,本文將給大家介紹python通過socket搭建極簡web服務器,需要的朋友可以參考下2023-10-10Python實現(xiàn)獲取亂序列表排序后的新下標的示例
本文主要介紹了Python實現(xiàn)獲取亂序列表排序后的新下標的示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04使用python將excel數(shù)據(jù)導入數(shù)據(jù)庫過程詳解
這篇文章主要介紹了使用python將excel數(shù)據(jù)導入數(shù)據(jù)庫過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-08-08