Python eval()
La funzione eval() esegue il codice Python (che viene passato come argomento) all'interno del programma.
La sintassi di eval() è:
eval (espressione, globals=None, locals=None)
La funzione eval() prende tre parametri:
- espressione: la stringa analizzata e valutata come espressione Python.
- globals (opzionale): un dizionario.
- locals (opzionale): un oggetto di mappatura. Il dizionario è il tipo di mappatura standard e comunemente usato in Python.
Il metodo eval() restituisce il risultato valutato dall'espressione.
a = 10
print (eval('a + 10'))
Output del codice
20
Altro esempio per eval():
#calcoliamo perimetro ed area del quadrato
def calcola_peri(l):
return 4*l
def calcola_area(l):
return l*l
esp = input("Scrivi la funzione: ")
for l in range(1, 5):
if (esp == 'calcola_peri(l)'):
print ("Se il lato è ", l, ", Perimetro = ", eval (esp))
elif (esp == 'calcola_area(l)'):
print ("Se il lato è ", l, ", Area = ", eval (esp))
else:
print ('Nome funzione errato')
break
Output del codice
Scrivi la funzione: calcola_peri(l)
Se il lato è 1 , Perimetro = 4
Se il lato è 2 , Perimetro = 8
Se il lato è 3 , Perimetro = 12
Se il lato è 4 , Perimetro = 16