偏函数-functools.partial

1.概念:偏函数是2.5版本以后引进来的东西。属于函数式编程的一部分,使用偏函数可以通过有效地“冻结”那些预先确定的参数,来缓存函数参数,然后在运行时,当获得需要的剩余参数后,可以将他们解冻,传递到最终的参数中,从而使用最终确定的所有参数去调用函数。2.代码举例:
import functools

def index(a1,a2):
return a1 + a2

# 原来的调用方式
# ret = index(1,23)
# print(ret)

# 偏函数,帮助开发者自动传递参数
new_func = functools.partial(index,666)
ret = new_func(1)
print(ret)

在这里偏函数表达的意思就是,在函数index的调用时,我们已经知道了其中的一个参数,我们可以通过这个参数,重新绑定一个函数,就是new_func(index,1),然后去调用即可。

3.使用场景:

对于有很多可调用对象,并且许多调用都反复使用相同参数的情况,使用偏函数比较合适。

原文地址:https://www.cnblogs.com/zzy-9318/p/9192733.html

时间: 2024-10-04 03:33:34

偏函数-functools.partial的相关文章

偏函数functools partial

python偏函数:用于固定函数一部分已知的值,然后重新封装成一个新函数. 导入模块 from functools import partial 1. 例子: def con(m,n): return m*n f = partical(con,0.98) # 0.98的值,传递到con的m f(100) # 100的值传递到con的n 结果 In [194]: def con(m,n): ...: return m*n ...: In [195]: f = partial(con,0.98) I

functools.partial偏函数

functools.partial偏函数 之前我们提到了functools.warp能在装饰器中保存原函数的参数等属性 今天我们再来说说functools.partial def func(a1,a2,a3): return a1 + a2 + a3 v1 = func(1,2,3) new_func = functools.partial(func,111,2) new_func(3) 本来我们执行func函数需要3个参数,如果使用functools.partial(func,111,2)对f

【Python functools.partial 偏函数】 -- 2019-08-08 18:01:31

原文: http://106.13.73.98/__/124/ Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. functools.partial可以帮助我们创建一个偏函数,如下示例: """自己定义的偏函数""" def int1(x, base=2): return int(x, base) print(int1('100000

【Python functools.partial 偏函数】 -- 2019-08-09 12:09:26

原文: http://106.13.73.98/__/124/ Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. functools.partial可以帮助我们创建一个偏函数,如下示例: """自己定义的偏函数""" def int1(x, base=2): return int(x, base) print(int1('100000

【Python functools.partial 偏函数】 򟱾

原文: http://blog.gqylpy.com/gqy/349 " Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. functools.partial可以帮助我们创建一个偏函数,如下示例: """自己定义的偏函数""" def int1(x, base=2): return int(x, base) print(in

functools.partial 偏函数

import functools int2 = functools.partial(int, base=2) int2('1000000') 固定一个参数

Python functools.partial

def declare_consumer(self, consumer_cls, topic, callback): """Create a Consumer using the class that was passed in and add it to our list of consumers """ def _connect_error(exc): log_info = {'topic': topic, 'err_str': str(ex

python标准库--functools.partial

官方相关地址:https://docs.python.org/3.6/library/functools.html 一.简单介绍: functools模块用于高阶函数:作用于或返回其他函数的函数.一般而言,任何可调用对象都可以作为本模块用途的函数来处理. functools.partial返回的是一个可调用的partial对象,使用方法是partial(func,*args,**kw),func是必须要传入的,而且至少需要一个args或是kw参数. 创建一个功能函数,实现三个数的相加,如果其中的

python的functools.partial的应用

functools.partial是类似于创造"可移动"函数的意思,参数的第一个是函数名,其他的是这个函数其他参数,例如: generator_func = functools.partial( tf.random_uniform, [], minval=min_scale_ratio, maxval=max_scale_ratio, dtype=tf.float32, seed=seed) 这时候的generator_func 就是移动函数名,类似于函数指针,可以传参,但是经过&qu