Partial Functions in Python
Partial function, as the name suggests allows us to fix the number of arguments in a function i.e partially fix the number of arguments to generate a new function.
We can create a different function by passing partial arguments in Python. We can fix some part of the arguments of the function which then results in a new object. In other words, we can create a function with some defaults.
Why do we need a partial function
When a function has multiple arguments, there might come a situation where some arguments take the same value each time while other arguments take different values each time. In a situation like this, we create a partial function, in which some of its arguments are fixed.
How to create a partial function in Python
Partial functions in Python can be created using the partial function from the functools library. For that, you must know how to create a Python function.
from functools import partial #Create a function def demo(a,b,c,d): return a*b*c + d #A partial function that calls demo with a as 1, b as 2 and c as 3 demo1= partial(demo,1,2,3) #calling demo1() print(demo1(2))
In this example, we’ll calculate the interest amount using the Simple Interest formula.
Simple Interest = P*R*T/100
In this, we fix two arguments: the principal amount and rate of interest. Using a different value for time we can calculate the interest amount.
from functools import partial #Create a function to calculate interest rate def interest(Pr_amt, rate, time): interest_amt=(Pr_amt*rate*time)/100 return interest_amt #Create a partial function with principal amount #and rate of interest fixed abc= partial(interest,2000,5) print("Interest amount:",abc(2))
Interest rate: 200.0
Uses of Python Partial functions
- They make the code re-usable by creating derived specialized functions.
- When the code is long it doesn’t make sense to re-write the code so partial functions are used.