Maison  >  Article  >  développement back-end  >  A quoi sert eval en python

A quoi sert eval en python

coldplay.xixi
coldplay.xixioriginal
2021-03-02 13:52:39119447parcourir

Utilisation de eval en python : traitez la chaîne str comme une expression valide pour évaluer et renvoyer le résultat du calcul. La syntaxe est [eval(source[, globals[, locals]]) ->

A quoi sert eval en python

L'environnement d'exploitation de ce tutoriel : système Windows 7, python version 3.9, ordinateur DELL G3 Cette méthode convient à toutes les marques d'ordinateurs.

Utilisation de eval en python :

La fonction de la fonction python eval() : évalue la chaîne str comme une expression valide et renvoie le résultat du calcul.

Syntaxe :

eval(source[, globals[, locals]]) -> value

Paramètres :

  • source : Une expression Python ou un objet de code renvoyé par la fonction compile()

  • globals : Facultatif. Doit être un dictionnaire

  • locals : facultatif. N'importe quel objet cartographique

Si le paramètre globals est fourni, il doit être de type dictionnaire ; si le paramètre locals est fourni, il peut s'agir de n'importe quel objet cartographique.

L'espace de noms global de Python est stocké dans un objet dict appelé globals() ; l'espace de noms local est stocké dans un objet dict appelé locals(). Nous pouvons utiliser print (locals()) pour afficher tous les noms de variables et valeurs de variables dans le corps de la fonction.

 x = 1
 y = 1
 num = eval("x+y")
print('num',num)
 
 def g():
     x = 2
    y = 2
    num1 = eval("x+y")
    print('num1',num1)
     num2 =eval("x+y",globals())
     print('num2',num2)
     num3 = eval("x+y",globals(),locals())
     print('num3',num3)
g()
 
num 2
num1 4
num2 2
num3 4

Analyse : num2 est une variable globale car elle a des globales, et le résultat après exécution est 4 ; num3 a à la fois des globales et des locales. Dans ce cas seulement, la valeur des locales est préférée, donc le résultat du calcul. is 2

Recommandations d'apprentissage gratuites associées : Tutoriel vidéo Python

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn