Difference between Normal def defined function and Lambda
Last Updated :
19 Dec, 2021
In this article, we will discuss the difference between normal def defined function and lambda in Python.
Def keyword
In python, def defined functions are commonly used because of their simplicity. The def defined functions do not return anything if not explicitly returned whereas the lambda function does return an object. The def functions must be declared in the namespace. The def functions can perform any python task including multiple conditions, nested conditions or loops of any level, printing, importing libraries, raising Exceptions, etc.
Example:
Python3
def calculate_cube_root(x):
return x * * ( 1 / 3 )
print (calculate_cube_root( 27 ))
languages = [ 'Sanskrut' , 'English' , 'French' , 'German' ]
def check_language(x):
if x in languages:
return True
return False
print (check_language( 'English' ))
|
Output:
3.0
True
Lambda keyword
The lambda functions can be used without any declaration in the namespace. The lambda functions defined above are like single-line functions. These functions do not have parenthesis like the def defined functions but instead, take parameters after the lambda keyword as shown above. There is no return keyword defined explicitly because the lambda function does return an object by default.
Example:
Python3
cube_root = lambda x: x * * ( 1 / 3 )
print (cube_root( 27 ))
languages = [ 'Sanskrut' , 'English' , 'French' , 'German' ]
l_check_language = lambda x: True if x in languages else False
print (l_check_language( 'Sanskrut' ))
|
Output:
3.0
True
Table of Difference Between def and Lambda
def defined functions
|
lambda functions
|
Easy to interpret
|
Interpretation might be tricky
|
Can consists of any number of execution statements inside the function definition
|
The limited operation can be performed using lambda functions
|
To return an object from the function, return should be explicitly defined
|
No need of using the return statement
|
Execution time is relatively slower for the same operation performed using lambda functions
|
Execution time of the program is fast for the same operation
|
Defined using the keyword def and holds a function name in the local namespace
|
Defined using the keyword lambda and does not compulsorily hold a function name in the local namespace
|
Please Login to comment...