Methods and Functions

Python User-Defined Functions

Imagine you want to create a square with sides of a particular length. Additionally, you want to colour it. You can create two separate functions to perform the above tasks. The first function will make a square of the specified length. You can use the second function to colour it based on the specifications. Thus, as we can understand, a function is used to perform a specific task. If you define the function yourself, it is a user-defined function. On the other hand, the Python function that come along with Python are known as in-built functions. All the functions apart from in-built functions and library functions come under the category of user-defined functions. You can give any name to a user-defined function. The only restriction is that the name should not be a Python keyword.

Advantages of User-Defined Functions in Python

Once you define a function, you will have to call it to use it.  Since we are customizing the definition depending on our requirements, there are several advantages of a user-defined function over other Python functions. A few of them are:

  • Firstly, a user-defined function helps to break the code into smaller blocks. Thus, it will be easy for a programmer to understand the functionality of each section. Additionally, it will be easier for maintenance purposes. In case any bug is present, debugging a smaller segment will be easier compared to debugging a large block of code.
  • Secondly, as mentioned above, we can modify a user-defined function as per our requirements. Thus, a user-defined function helps us create definitions that are not a part of the in-built Python functions. It can help to cater to our needs.
  • Most programs have certain repetitive sections of code. A user-defined function allows us to write the code for such parts of the code. Once the user-defined function is defined, you will need to call the function to execute the section. Thus, the overall effort required to complete the program reduces.
  • Additionally, the division of the program into smaller modules allows the option to divide the work among team members.
  • A user-defined function also promotes the concept of data hiding.

A function in Python can be assigned to a variable or stored in the form of a collection. Users can pass arguments through functions as well. All the aforementioned features allow flexibility to the programmers.

Example of a User-Defined Function

We can use the keyword ‘def’ to create a function. Below is an example of a user-defined function to multiply to two numbers (say ‘A’ and ‘B)


#Program to demonstrate how to multiply two numbers using a user-defined function

def multiply_numbers(a,b):

   product = a * b

   return product

n1 = 5

n2 = 6

print("The product is", multiply_numbers(n1, n2))

In the above example, the multiply_numbers is a user-defined function. The function can accept two numbers in the form of arguments as it has been defined with two parameters. Within the print() function, we are calling the function to multiply the two numbers by passing n1 and n2 as arguments. Here, print() is an in-built Python function. Thus, we do not need to define the function. A good practice is to name the functions based on the tasks that they will be performing. It will be easier to identify them later on.

The Output of the above Program


Enter a number: 5

Enter another number: 6

The product is 30

Q & A on Python User-Defined Functions

Q. How do you define a function in Python?

Answer: We define a function using the keyword “def”. Following that, we will have to write the name of the function. The function name should follow the naming rules similar to Python identifiers. In case, if the functions require parameters, we will need to specify them. A colon will mark the end of the function header.

def name_of_function(parameter):


#documentation to explain what the function does


function statements

Q. What is a function in Python with an example?

Answer: Python functions are blocks of code that can perform a function. It promotes the reusability of the code and allows to reduce the effort and costs involved. Below is an example to print a string in Python-

def print_string( st ):

   “This is how to print a string that is passed into the function”

   print st


Q. What is the function of == in Python?

Answer: The ‘==’ is known as the equality operator. There is a slight difference between the ‘==’ operator and the Python Identity operator (is). The == operator can compare the value of two objects. However, the Identity operator is used to verify if the two variables point to the same object in the memory. Hence, if you need to compare any two objects and don’t need to know where they are stored in the memory, you can use the equality operator.


list1 = [‘a’, ‘b’]

list2 = list1


print(list_1 == list_2)



Share with friends

Customize your course in 30 seconds

Which class are you in?
Get ready for all-new Live Classes!
Now learn Live with India's best teachers. Join courses with the best schedule and enjoy fun and interactive classes.
Ashhar Firdausi
IIT Roorkee
Dr. Nazma Shaik
Gaurav Tiwari
Get Started

Leave a Reply

Your email address will not be published. Required fields are marked *

Download the App

Watch lectures, practise questions and take tests on the go.

Customize your course in 30 seconds

No thanks.