Die Funktion eval() in Python steht für „evaluate“ (auswerten). Sie wertet einen als String übergebenen Python-Ausdruck aus und führt ihn aus, als ob er direkt im Quellcode stehen würde.
Funktionsweise
- eval() nimmt einen String-Ausdruck als Argument und interpretiert ihn als Python-Code.
- Der übergebene Ausdruck wird zur Laufzeit des Programms ausgewertet.
- Das Ergebnis der Auswertung wird zurückgegeben.
Beispiele
x = eval('2 + 3') # x wird 5
y = eval("'abc' * 3") # y wird 'abcabcabc'
Vorsicht bei der Verwendung
Obwohl eval() mächtig ist, sollte es mit Vorsicht eingesetzt werden:
- Sicherheitsrisiko: Es kann beliebigen Code ausführen, was gefährlich sein kann, wenn der Input nicht vertrauenswürdig ist.
- Performance: Die Auswertung ist langsamer als direkt im Quellcode geschriebener Code.
eval() sollte daher nur nach sorgfältiger Abwägung und mit entsprechenden Sicherheitsmaßnahmen verwendet werden, besonders wenn das Programm von anderen Personen bedient werden könnte.