Kurian Thayil wrote:

> Hi,
> 
> I am a newbie in python and would like to learn GUI programming. I would
> like to know what exactly is Partial Function Applicaton
> (functool.partial())? Or how is it advantageous compared to normal
> functions? Or is there any advantange? Thanks in advance.

It is mostly for functional programming style.

But one lucky side-effect of the implementation is that partial functions
*may* sometimes be faster than the alternative written in pure Python,
provided the original function is written in C:


from functools import partial
from operator import add

def add_one(x):
    return add(1, x)  # Like 1+x

add_two = partial(add, 2)

from timeit import Timer
setup = "from __main__ import add_one, add_two"
t1 = Timer("add_one(42)", setup)
t2 = Timer("add_two(42)", setup)



And in action:

>>> t1.timeit()
0.7412619590759277
>>> t2.timeit()
0.3557558059692383

So in this example, the partial function is about twice as fast as the one
written in Python.

This does not necessarily apply for all functions, but it sometimes is
useful.


-- 
Steven

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to