Learn About Functions In Python

This article illustrates the use of functions in Python. We will learn about different types of arguments and functions in Python and their uses.

Introduction 

 
Functions are helpful to use the entire code and divide the code into useful blocks to do some computations and produce output.
 
Functions allow us to make a particular code more readable and reusable.
 
You can pass data, known as parameters, into a function.
 
When we define the body of a function, it is called Function Definition. When we declare this function/method in our code so that further in this code this function is being used, this is known as Function Declaration. When we want to use this function/method to be implemented we call it Function Calling.
 
 
From the above example, we know that a function is defined by using keyword- def()
 
When we want to pass something in the function, it is called an Argument or Parameters.
 
 
We can pass multiple arguments/parameters in a function, but that should be mentioned in function definition, else it will throw an error.
 
 
NOTE
 
Arguments are passed neither by value nor by reference in Python - instead, they are passed by assignment.
  • A function can return a value, by using the statement: return 
    1. def return_example(a,b):    
    2.     return a+b     
    3. x=int(input("Enter first number:"))    
    4. y=int(input("Enter second number:"))    
    5. print(return_example(x,y))    
SAMPLE OUTPUT
 
 

TYPES OF ARGUMENTS IN PYTHON

 
DEFAULT
 
An argument can have a default value and this is done by using (=), assignment operator. In case, we do not pass any argument then the default value is returned.
 
 
KEYWORD
 
Sometimes we are not aware of the order in which arguments were passed, so Python helps us with keyword argument by which we can pass arguments in any order.
 
 
ARBITRARY
 
Sometimes we are not aware of how many arguments we’ll get, so in this case, we use (*) before the argument. This helps us to return multiple arguments without knowing their count.
 
 
There are 4 different types of functions supported by Python,
 
  
 
Built-In
  • From the beginning, we are using print() statement for output, for iteration using for loops we are using range() function, we used the constructor for making tuple; i.e. tuple(), for lists- list().
  • All these are functions whose functionality is pre-defined in Python.
  • The python interpreter has several functions that are always present for use.
  • These are known as Built-in functions.
User defined
  • The functions defined by us or by users to do a specific task are known as User-defined functions.
  • By using the keyword, def, we can make our own functions.
  • User-defined functions help to break down a large program into small segments which makes programs easy to understand, maintain and debug.
 
Lambda
  • To understand Lambda Functions, first of all, we need to understand what Anonymous Functions are.
  • Anonymous stands for having no outstanding or unusual features. Anonymous functions can be used for containing functionality that need not be named and possibly for short-term use.
  • So, Lambda is Anonymous Functions that do not require a specific name.
  • It returns only one expression, so it does not require a “return” statement but can take multiple arguments.
  • We can also put a lambda definition anywhere a function is expected, and we don’t have to assign it to a variable at all.
    1. def recursion(demo):     
    2.     if (demo < 1):     
    3.         return    
    4.     else:     
    5.         for i in range(number):    
    6.             print( demo,end = " ")     
    7.             recursion(demo-1)    
    8.             print( demo,end = " ")     
    9.         return           
    10. number=int(input("Enter how many you want repetition"))    
    11. demo = int(input("Enter a Number"))    
    12. recursion(demo)     
SAMPLE OUTPUT
 
 
 
Recursion
  • When a function calls itself it is known as recursion.
  • In layman's terms, if we place two parallel mirrors facing each other, any object in between them would be reflected recursively.
  • It can be used for problems that have similar sub-problems; for example, sorting, searching, and traversal problems.
Here is an example to show how recursion works by calling the function repeatedly.
  1. number1= int(input("Enter first number:"))    
  2. number2= int(input("Enter second number:"))    
  3.     
  4. sum = lambda x,y: x+y    
  5.     
  6. print(sum(number1,number2))    
SAMPLE OUTPUT
 
 
  

SUMMARY

 
In this article, we discussed functions, how they can be used and their major parts. I hope this will help the readers to understand how to use and implement functions in Python.
 
Feedback or queries related to this article are most welcome.
 
Thanks for reading.