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