Las dos formas de escritura de funciones matemáticas básicamente hacen lo mismo. Sin embargo, cuando la función se define por tramos, la forma def-return se convierte en la más usada.
Se adjunta un ejemplo:
Funciones Lambda
Permite describir funciones sencillas de una sola línea, que no está conformada por intervalos.
import numpy as np fx = lambda x: x*np.cos(x) - 2*(x**2) + 3*x -1
>>> fx(0.2) -0.28398668443175157
Funciones def-return
Permiten describir en detalle lo que sucede con una función matemática por intervalos. Tiene la ventaja de permitir definir valores por intervalos, puntos discontínuos, etc.
import numpy as np def fx(x): if x>0: fi = x*np.cos(x) - 2*(x**2) + 3*x -1 if x<=0: fi = 1 return(fi)
>>> fx(0.2) -0.28398668443175157