2022年8月31日文章:分部函数相关的源码解释及其示例
python中partial库的使用方法解析

更新时间是 2022 年 08 月 31 日 14 时 21 分 52 秒,作者是 IT 之一小佬。
这篇文章主要介绍了关于 python 中 partial 库的使用方法。文章围绕该主题展开了详细的内容讲解,具有一定的参考意义,感兴趣的小伙伴可以参考一下。
源码解释:
class partial:
具有给定参数部分应用的新函数
and keywords.
"""
分部函数是基于另一个函数来创建函数的。它的作用是把值绑定到函数的参数(或者关键字参数)上,进而生成一个之前没有定义参数的可被调用的函数。
functools.partial 返回的是一个可调用的对象,这个对象是 partial 对象。使用它的方法是 partial(func,args,*kw)。在这个方法中,func 是必须要传入的,并且至少需要一个 args 或者 kw 的参数。
示例代码1:
from functools import partial
# 定义一个加法函数
def add(a, b, c):
return a + b + c
# 定义分部函数,其中第一个参数已经固定
ret = partial(add, 6)
# 初始化前两个参数并打印
print(ret(2, 4))
运行结果:
示例代码2:
from functools import partial
# 定义一个求幂函数
def sq(a, b):
return b ** a
# 求平方 分部函数 第一个参数已经确定
pingfang = partial(sq, 2)
# 求立方 分部函数 第一个参数已经确定
lifang = partial(sq, 3)
# 求5的平方
print(pingfang(5))
# 求5的立方
print(lifang(5))
运行结果:
示例代码3:
from functools import partial
import requests
def get_baidu(method, url):
使用 requests 库发起请求,请求的方法是 method,请求的 URL 是 url,然后将请求的响应赋值给 response 变量。
return response.content
res 是通过调用 get_baidu 函数并传入参数 "get" 和 "https://www.baidu.com" 而得到的。
print(res)
把函数和参数封装在一个特定的变量名里,下一次执行的时候直接加上括号进行调用。
使用 get_baidu 函数,并传入参数 'get' 和 "https://www.baidu.com",将其赋值给 getBaidu
print(type(getBaidu)) #
ret = getBaidu()
print(ret)
运行结果:
示例代码4:
from functools import partial
# 定义一个加减乘除的类
class Calculate(object):
md 包含“add”、“minus”、“multiplication”、“division”。
初始化自身,传入方法以及两个可选参数 num1 和 num2,num1 的默认值为 0,num2 的默认值也为 0。
self.num1 = num1
self.num2 = num2
if method in self.md:
Calculate 中的 method 对应的函数被获取并赋值给了 func 。
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") ,即将 Calculate 函数中的部分操作指定为 "add" 。
“minus 等于对‘minus’进行 Calculate 操作得到的 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)
打印乘法运算(3,5)的结果。
print(division(3, 5).result)
运行结果:
这篇关于 python 中 partial 库使用方法解析的文章到此介绍完毕。更多关于 python partial 库的内容,大家可以搜索脚本之家以前的文章,或者继续浏览下面的相关文章。希望大家以后能多多支持脚本之家!
« 上一篇
家长注意:探寻儿童编程课价格千差万别的门道