What are Partial functions and the use of partial functions in Python?
Partial functions in Python is a function that is created by fixing a certain number of arguments of another function. Python provides a built-in module called functools that includes a function called partial that can be used to create partial functions. The partial
function takes a callable (usually another function) and a series of arguments to be pre-filled in the new partial function. This feature is similar to bind in C++.
How do you implement a partial function in Python?
Partial functions support both positional and keyword arguments to be used as fixed arguments.
Example 1
In this example, we use default values to implement the partial function. The default values start replacing variables from the left. In the example, we have pre-filled our function with some constant values of a, b, and c. And g() just takes a single argument i.e. the variable x.
Python3
from functools import partial # A normal function def f(a, b, c, x): return 1000 * a + 100 * b + 10 * c + x # A partial function that calls f with # a as 3, b as 1 and c as 4. g = partial(f, 3 , 1 , 4 ) # Calling g() print (g( 5 )) |
Output:
3145
Example 2
In the example, we have used pre-defined value constant values in which we have assigned the values of c and b and add_part() takes a single argument i.e. the variable a.
Python3
from functools import * # A normal function def add(a, b, c): return 100 * a + 10 * b + c # A partial function with b = 1 and c = 2 add_part = partial(add, c = 2 , b = 1 ) # Calling partial function print (add_part( 3 )) |
Output:
312
Uses of partial functions
- Integration with Libraries: Partial functions can be used to customize the behavior of third-party functions or methods by providing partial arguments and can be used to integrate it with other libraries.
- Simplifying Callbacks: Partial functions can be used to create specialized callback handlers by fixing some callback-specific parameters and providing a cleaner interface for the rest of the code.
- Parameter Fixing: : Partial functions can be very useful when we have a function with multiple parameters and we frequently want to use it with some parameters fixed. Instead of repeatedly passing those fixed parameters, we can create a partial function and call it with the remaining arguments.
- Reducing Duplication: If we are using the same arguments for a function in various places, creating a partial function with those fixed arguments can help to reduce code duplication and maintenance efforts.
- Default Arguments: Python’s built-in
functools.partial
can be used to set default values for function arguments. - Reusability of code: Partial functions can be used to derive specialized functions from general functions and therefore help us to reuse our code.
Partial Functions in Python
Partial functions allow us to fix a certain number of arguments of a function and generate a new function. In this article, we will try to understand the concept of Partial Functions with different examples in Python.
Contact Us