Mettere le funzioni in delle variabili in modo che quando esco dalla funzione che fa l'eval siano sempre valide....

hai ragione!

Grazie non ci avevo pensato, adesso funziona tutto perfettamente