Fonction eval() – Python
La fonction eval() nous permet d’exécuter des chaînes de caractères en tant que instruction Python. Il accepte une chaîne de caractère et retourne un objet.
Voici un exemple montrant le fonctionnement de eval():
>>> >>> eval("2 > 1") True >>> >>> eval("8 + 2") 10 >>> >>> eval("'WayTo' + 'LearnX'") 'WayToLearnX'
eval() ne se limite pas à une expression simple. Nous pouvons exécuter des fonctions, des appels de méthodes, etc.
>>> eval("max(1, 3, 2)") 3 >>> >>> eval('"welcome".upper()') 'WELCOME'
Notez que eval() ne fonctionne qu’avec des expressions. Si vous essayer de passer une instruction provoque l’exception ‘SyntaxError ‘.
>>> eval('import os') # import Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 import os ^ SyntaxError: invalid syntax >>> >>> eval('nbr=5') # affectation Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1 nbr=5 ^ SyntaxError: invalid syntax