函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,一个函数有一个或多个参数预先就能用上,以便函数能用更少的参数进行调用。
例如:
in [9]: from functools import partialin [10]: def add(a,b):....: return a+b....:in [11]: add(4,3)out[11]: 7in [12]: plus = partial(add,100)in [13]: plus(9)out[13]: 109in [14]: plus2 = partial(add,99)in [15]: plus2(9)out[15]: 108
其实就是函数调用的时候,有多个参数 参数,但是其中的一个参数已经知道了,我们可以通过这个参数重新绑定一个新的函数,然后去调用这个新函数。
如果有默认参数的话,他们也可以自动对应上,例如:
in [17]: def add2(a,b,c=2):....: return a+b+c....:in [18]: plus3 = partail(add,101)---------------------------------------------------------------------------nameerror traceback (most recent call last)/users/yupeng/documents/phantomjs/ in ()----> 1 plus3 = partail(add,101)nameerror: name 'partail' is not definedin [19]: plus3 = partial(add,101)in [20]: plus3(1)out[20]: 102in [21]: plus3 = partial(add2,101)in [22]: plus3 = partial(add2,101) (1)out[22]: 104in [23]: plus3(1)out[23]: 104in [24]: plus3(1,2)out[24]: 104in [25]: plus3(1,3)out[25]: 105in [26]: plus3(1,30)out[26]: 132
希望本文所述对大家的python程序设计有所帮助。
