# How to call a function of a module by using its name (a string) in Python

In this tutorial, you will learn methods to call a module’s function by using its name in Python. Generally, we cannot write a mathematical expression in the form of a string to do calculations, we can only use the** int** or

**datatypes for doing mathematical calculations. So, in this tutorial, we will learn the methods of converting a string to a function in Python programming. Read the following text very carefully to learn and explore new ways of coding.**

`float`

## Convert string to function using eval() function:

Example 1:

In example 1, we will see how can we convert a mathematical expression written as a string in Python to a function with the help of the ** eval()** function. Here

**is the short form of**

`eval`

**.**

`evaluate`

# define variables a=12 b=5 # make a string using the variables c="(a-b)*b+1" # convert the string to an executable function using the eval() function output=eval(c) print("The output of the expression is:",output)

Output:

The output of the expression is: 36

### Example 2:

In example 2, we will convert a function containing a for loop, to a string, then with the help of the ** eval()** function we will convert this string to an executable function in Python. We will write the string inside the eval() function and add the “

`()`

” parenthesis using the **+**operand, i.e……

`eval(string + "()")`

.# create a function using a for loop def square(): for i in range(6): print(i*i) # convert the function to string # square of first five numbers a="square" # convert the string to function using the eval() function eval(a+"()")

Output:

## Convert string to function using getattr() function:

Example:

In this example, we will use the `getattr()`

function to call a function of a module by using its name in Python. Here, we will convert the ** sqrt** module of python into a string and pass it as an argument in the

`getattr()`

function to calculate the square root of a number. In this example, we have taken 4 as the number.# import the math library import math # convert the square-root function to string module = "sqrt" # using getattr() function to covert the string to function string_to_function= getattr(math, module) # command to print square-root of 4 squareroot = string_to_function(4) # print output print(squareroot)

Output: 2.0

So, this is how you can convert a string to an executable function using ** eval()** and

**functions in Python.**

`getattr()`

## Leave a Reply