Un dérivateur formel en Python en (presque) 15 minutes

Nous avions déjà construit un dérivateur formel en Haskell et aussi en OCAML. Nous allons tenter de faire la même chose en Python de manière rustique : ce n'est qu'une piste à améliorer.

Une expression sera représentée par un arbre. Par exemple l'expression :

$$x+(2+\textrm{ln}(x))(-4+\textrm{exp}(5))$$

sera représentée par: