eval ( )
DESCRIPTION.
Retourne l'évaluation d'une expression, inscrite dans un str ( ).
SYNTAXE.
Variable = eval ( chaine , global , local )
Variable = ⇨ variable qui recevra l'évaluation [ optionnel ]
eval ( ) ⇨ appel de la méthode [ OBLIGATOIRE ]
chaine ⇨ expression à évaluer [ OBLIGATOIRE ]
global ⇨ indique les variables globales de l'expression [ optionnel ]
local ⇨ indique les variables locales de l'expression [ optionnel ]
REMARQUES.
chaine doit être un str ( ) contenant l'expression à évaluer.
global et local doivent être de dict ( ) quand ils sont présents. Si local est utilisé sans global, global doit être un dict ( ) vide ({ }) ou le paramètre doit être nommé (locals = ... ).
La méthode eval ( ) attend une expression à évaluer comme : une opération arithmétique, une concaténation de chaines, une comparaison, ... et retourne le résultat de cette expression, si elle est valide. Alors que la méthode exec ( ) attend une fonction à appeler comme : print ( ), input ( ), open ( ), range ( ), ... et exécute cette méthode avec les attribut fournis si elle est légale.
EXEMPLES.
print ( eval ( "8 + 7" ) ) retourne 15
Calcul = eval ( "8 + 7" )
print ( Calcul ) retourne 15
print ( type ( eval ( "8 + 7" ) ) ) retourne <class 'int'>
L’expression à évaluer doit être un str ( ) et non une opération arithmétique.
print ( eval ( 8 + 7 ) ) retourne TypeError: eval() arg 1 must be a string, bytes or code object
Longueur = 7
Largeur = 2.5
Aire = eval ( "Longueur * Largeur" )
print ( Aire ) retourne 17.5
print ( eval ( "Longueur == Largeur" ) ) retourne False
print ( eval ( "Largeur < Longueur" ) ) retourne True
eval ( ) permet d’effectuer des calcul arithmétiques depuis une saisie avec input ( ) sans convertir implicitement les variables.
Longueur = input ( "Longueur en cm ... " )
Largeur = input ( "largeur en cm ... " )
Superficie = eval ( Longueur + "*" + Largeur )
print ( Superficie )
retourne
Longueur en cm ... 7
largeur en cm ... 4
28
mais attention à bien saisir des valeurs numériques
Longueur en cm ... 7cm
largeur en cm ... 4cm
7cm*4cm
^
SyntaxError: invalid syntax
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la LOGITHEQUE de MON PYTHON PAS A PAS
vous trouvez des suggestions de projets simples et classiques pour
ooo
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
ooo
la programmation récréative avec le langage PYTHON 3
avec un exemple de résolution à télécharger pour vous inspirer.