Partial Function Application -- Advantages over normal function?

Paul Woolcock pwoolcoc at
Mon Jul 18 08:24:17 EDT 2011

Partial function application (or "currying") is the act of taking a function
with two or more parameters, and applying some of the arguments in order to
make a new function.  The "hello world" example for this seems to be this:

Let's say you have a function called `add`, that takes two parameters:

    >>> def add(left, right):
    ...     return left + right

Now let's say you want a function that always adds 2 to a number you give
it.  You can use partial function application to do this:

    >>> from functools import partial
    >>> add2 = partial(add, right=2)

Now, you have a new function, `add2`, that takes one parameter:

    >>> add2(4)

Paul Woolcock
pwoolcoc at

On Mon, Jul 18, 2011 at 6:13 AM, Kurian Thayil <kurianmthayil at>
> Hi,
> I am a newbie in python and would like to learn GUI programming. I would
> to know what exactly is Partial Function Applicaton (functool.partial())?
> how is it advantageous compared to normal functions? Or is there any
> advantange? Thanks in advance.
> Regards,
> Kurian Thayil.
> --
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Python-list mailing list