Python functions: It can be referred to as a block of code that performs a specific task. A function declaration tells the compiler about a function’s name, return type, and parameters. And in Python functions definition provides the actual body of the function. Python functions can also be referred to as a method or a sub-routine or a procedure, etc.
def functionname( parameters ):”function_docstring”
def greet(name): """This function greets to the person passed in as parameter""" print("Hello, " + name + ".Welcome!")
Python Function Parameters
Python function Parameters are part of sub-routines, they provide information to the sub-routines and tells them how to behave.
Python function parameters Example:
def my_function(fname): print(fname + "Message") my_function("Gmail") my_function("Yahoo") my_function("Outlook")
Python Default Value of Parameter
If you call the Python function without parameter, it uses a default value.
def my_function(country="India"): print("I am from " + country) my_function("Australia") my_function("USA") my_function( ) my_function("Russia")
I am from Australia
I am from the USA
I am from India
I am from Russia
Python Return Values
In python functions, for getting a return value, use the return statement.
Syntax: return [expression_list]
def my_function(x): return 6*x print(my_function(3)) print(my_function(5)) print(my_function(9))
Python recursion is a process in which a function calls itself as a subroutine. This allows the function to be repeated several times since it calls itself during its execution. Functions that incorporate recursion are called recursive functions.
def tri_recursion(g): if(g>0): result = k+tri_recursion(g-1) print(result) else: result=0 return result print("\n\nRecursion Example Results") tri_recursion(6)
Python Function Calling
In python, function calling can be defined as a call that passes control to a subroutine. Once the subroutine is executed control returns to the next instruction in the main program. If the basic structure of the function is finalized, you can execute it by calling from another function or directly from the python prompt.
def my_function(): print("Hello from a function") my_function()
Hello from a function
Python Pass by Reference VS Value
It means to pass the reference of an argument in the calling function to the corresponding formal parameter of the called function. While the called Python functions can modify the value of the argument by using its reference passed in. Hence arguments in python are passed by reference. Python Pass-by- references are more efficient than pass-by-value because it does not copy the arguments. While the formal parameter is an alias for the argument.
#!/usr/bin/python #Function definition is here def changeme( mylist ):"This changes a passed list into this function" mylist.append([1,2,3,4]); print "Values inside the function: ", mylistreturn# Now you can call changeme functionmylist = [10,20,30]; changeme( mylist ); print "Values outside the function: ", mylist
Values inside the function: [10, 20, 30, [1, 2, 3, 4]]
Values outside the function: [10, 20, 30, [1, 2, 3, 4]]
NOTE: The difference between pass-by-reference and pass-by-pointer is that pointers can be NULL or reassigned whereas references cannot.