# 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))

Output:

8

## Example

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))

Output:

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.

## Leave a Reply

You must be logged in to post a comment.