Diferencia entre la función definida por definición normal y Lambda

En este artículo, discutiremos la diferencia entre la función definida por definición normal y lambda en Python.

Palabra clave def​​​​​​​

En Python, las funciones definidas por definición se usan comúnmente debido a su simplicidad. Las funciones definidas por definición no devuelven nada si no se devuelven explícitamente, mientras que la función lambda sí devuelve un objeto. Las funciones def deben declararse en el espacio de nombres. Las funciones def pueden realizar cualquier tarea de Python, incluidas múltiples condiciones, condiciones anidadas o bucles de cualquier nivel, impresión, importación de bibliotecas, generación de excepciones, etc. 

Ejemplo :

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'))

Salida :

3.0
True

Palabra clave lambda

Las funciones lambda se pueden usar sin ninguna declaración en el espacio de nombres. Las funciones lambda definidas anteriormente son como funciones de una sola línea. Estas funciones no tienen paréntesis como las funciones definidas por definición, sino que toman parámetros después de la palabra clave lambda como se muestra arriba. No hay una palabra clave de retorno definida explícitamente porque la función lambda devuelve un objeto de forma predeterminada.

Ejemplo :

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'))

Salida :

3.0
True

Tabla de diferencia entre def y lambda

funciones definidas def

funciones lambda

Fácil de interpretar

La interpretación puede ser complicada

Puede consistir en cualquier número de sentencias de ejecución dentro de la definición de la función

La operación limitada se puede realizar usando funciones lambda

Para devolver un objeto de la función, el retorno debe definirse explícitamente

No es necesario utilizar la declaración de devolución.

El tiempo de ejecución es relativamente más lento para la misma operación realizada con funciones lambda

El tiempo de ejecución del programa es rápido para la misma operación

Se define usando la palabra clave def y contiene un nombre de función en el espacio de nombres local

Se define con la palabra clave lambda y no contiene obligatoriamente un nombre de función en el espacio de nombres local

Publicación traducida automáticamente

Artículo escrito por apathak092 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *