# 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

 `# Define function to calculate cube root``# using def keyword`` ` `def` `calculate_cube_root(x):``    ``return` `x``*``*``(``1``/``3``)`` ` `# Call the def function to calculate cube``# root and print it``print``(calculate_cube_root(``27``))`` ` `# Define function to check if language is present in``# language list using def keyword``languages ``=` `[``'Sanskrut'``, ``'English'``, ``'French'``, ``'German'``]`` ` `def` `check_language(x):``    ``if` `x ``in` `languages:``        ``return` `True``    ``return` `False`` ` `# Call the def function to check if keyword 'English'``# is present in the languages list and print it``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

 `# Define function using lambda for cube root``cube_root``=` `lambda` `x: x``*``*``(``1``/``3``)`` ` `# Call the lambda function``print``(cube_root(``27``))`` ` ` ` `languages ``=` `[``'Sanskrut'``, ``'English'``, ``'French'``, ``'German'``]`` ` ` ` `# Define function using lambda``l_check_language ``=` `lambda` `x: ``True` `if` `x ``in` `languages ``else` `False`` ` `# Call the lambda function``print``(l_check_language(``'Sanskrut'``))`

Output:

```3.0
True```

## Table of Difference Between def and Lambda

My Personal Notes arrow_drop_up