Python Functions Overview


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;   
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)  
  1. """A Simple Function 
  2. which don't takes any argument and  
  3. don't return any value"""  
  5. def MyFunction():  
  6.     print("Hello, C# Corner :)")  
  7.     return   
  9. #calling "MyFunction" function  
  10. MyFunction()  
Passing parameters to function
  1. """Passing Value to function"""  
  3. def Sum(a,b):  
  4.     return a+b  
  6. result=Sum(5,6)  
  7. print(result)  
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.
  1. #Function Returns Multiple Values  
  2. def ReturnMultipleValues():  
  3.     a=8  
  4.     b=9  
  5.     c=10  
  6.     return a,b,c  
  8. i,j,k=ReturnMultipleValues();  
  9. print(i)  
  10. print(j)  
  11. print(k)  
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.
  1. def MyFunction(arg):  
  2.     print(arg)  
  3.     return  
  4. MyFunction("Hello C# Corner :)")  
Keyword Argument
When function is called by its parameter name.
  1. def MyFunction(arg1,arg2):  
  2.     print(arg1)  
  3.     print(arg2)  
  4.     return  
  6. MyFunction(arg2="Somani",arg1="Sourabh")  
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  
  5. MyFunction()  
  6. MyFunction(a=5)  
  7. MyFunction(b=6)  
  8. MyFunction(a=10,b=20)  
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))   

Similar Articles