Я знаю, что eval
это зло, но по крайней мере вы можете начать с него:
import mpmath
def deriv(equation):
print(mpmath.diff(lambda x : eval(equation), 1))
deriv("3*x**2+4") # will print 6.0
Ладно, разобрался, как это сделать с sympy
:
import mpmath
from sympy.parsing.sympy_parser import parse_expr
def deriv(equation):
p = parse_expr(equation)
print(mpmath.diff(lambda x : p.subs({'x': x}) ,1))
deriv("3*x**2+4") # same 6.0