python中偏函数partial用法实例分析
本文实例讲述了python中偏函数partial用法。分享给大家供大家参考。具体如下:
函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。
例如:
In[9]:fromfunctoolsimportpartial In[10]:defadd(a,b): ....:returna+b ....: In[11]:add(4,3) Out[11]:7 In[12]:plus=partial(add,100) In[13]:plus(9) Out[13]:109 In[14]:plus2=partial(add,99) In[15]:plus2(9) Out[15]:108
其实就是函数调用的时候,有多个参数参数,但是其中的一个参数已经知道了,我们可以通过这个参数重新绑定一个新的函数,然后去调用这个新函数。
如果有默认参数的话,他们也可以自动对应上,例如:
In[17]:defadd2(a,b,c=2): ....:returna+b+c ....: In[18]:plus3=partail(add,101) --------------------------------------------------------------------------- NameErrorTraceback(mostrecentcalllast) /Users/yupeng/Documents/PhantomJS/<ipython-input-18-d4b7c6a6855d>in<module>() ---->1plus3=partail(add,101) NameError:name'partail'isnotdefined In[19]:plus3=partial(add,101) In[20]:plus3(1) Out[20]:102 In[21]:plus3=partial(add2,101) In[22]:plus3=partial(add2,101)(1) Out[22]:104 In[23]:plus3(1) Out[23]:104 In[24]:plus3(1,2) Out[24]:104 In[25]:plus3(1,3) Out[25]:105 In[26]:plus3(1,30) Out[26]:132
希望本文所述对大家的Python程序设计有所帮助。