Python Functions Overview

Introduction

 
A function is nothing but a piece of programming code that performs a specific task. Once a function is created in your program you can reuse that function number of times that reduces the duplication of our code.
 
In python functions are of the following two types:
  1. Built-in functions
  2. User-define Functions
A built-in function is functions that are pre-defined in Python like Math Function and String Function. User-defined functions are the function that is defined by the user. 
 
Defining a Function in Python
  1. def function-name(arguments):    
  2.      ---------    
  3.      ---------  #Body of the Function  
  4.      ---------    
  5.      return Value;   
Here,
def is the keyword in python which is used to define the function,
function-name is a user-defined function name, this name can be anything defined by the user,
arguments are a list of argument which you want to pass into the argument, and
return returns some value from the function. 
 
Calling a Function
 
Above function can be called like the following:
  1. retunValue=function-name(arguments)  
Example
  1. """A Simple Function 
  2. which don't takes any argument and  
  3. don't return any value"""  
  4.   
  5. def MyFunction():  
  6.     print("Hello, C# Corner :)")  
  7.     return   
  8.   
  9. #calling "MyFunction" function  
  10. MyFunction()  
Output
 
 
Passing parameters to function
  1. """Passing Value to function"""  
  2.   
  3. def Sum(a,b):  
  4.     return a+b  
  5.   
  6. result=Sum(5,6)  
  7. print(result)  
Output
 
 
Returning Multiple Values from the function
 
In Python, we can return multiple values also. To return multiple values we use comma(,) when we return value.
 
Example
  1. #Function Returns Multiple Values  
  2. def ReturnMultipleValues():  
  3.     a=8  
  4.     b=9  
  5.     c=10  
  6.     return a,b,c  
  7.   
  8. i,j,k=ReturnMultipleValues();  
  9. print(i)  
  10. print(j)  
  11. print(k)  
Output
 
 
Calling Function With Argument
 
We can call a function in Python by the following different ways:
  1. Required Arguments
  2. Keyword Arguments
  3. Default Arguments
  4. Variable-Length Argument 
Required Argument
 
When arguments are passed into the function in the exact order as the function is defined.
 
Example
  1. def MyFunction(arg):  
  2.     print(arg)  
  3.     return  
  4. MyFunction("Hello C# Corner :)")  
Output 
 
Keyword Argument
 
When function is called by its parameter name.
  1. def MyFunction(arg1,arg2):  
  2.     print(arg1)  
  3.     print(arg2)  
  4.     return  
  5.   
  6. MyFunction(arg2="Somani",arg1="Sourabh")  
Output
 
 
Default Argument 
 
Sometimes we can define a function in Python with default argument value, so when the function will be called and if we do not pass the argument, then by default it will take default values.
  1. def MyFunction(a=0,b=0):  
  2.     print(a+b)  
  3.     return  
  4.   
  5. MyFunction()  
  6. MyFunction(a=5)  
  7. MyFunction(b=6)  
  8. MyFunction(a=10,b=20)  
Output
 
 
Variable-Length Arguments
 
Sometimes we don't know the number of arguments which we will pass into the function. So we can define a function with a variable-length argument, So the number of arguments may vary according to need.
 
An asterisk(*) sign is placed before the variable name so the argument list may vary according to need. 
 
Example: We want to add n numbers which we will pass to the function.
  1. def Add(*args):  
  2.     sum=0  
  3.     for i in args:  
  4.         sum+=i  
  5.     return sum  
  6. print(Add(5,6,7,8,9,10))  
  7. print(Add(1,2,3,4,5,6,7,8,9,10))   
Output 
 
 
Thanks!