Ma question est sur la façon de rendre le compilateur traite ma chaîne comme une déclaration exécutable, considérons ma chaîne mystr = '1 + 2 + 3', maintenant la question est quel est le code pour mettre en fonction func
alors quand j'exécute la commande suivante func(mystr)
je reçois 6 sur mon écran.Comment exécuter une instruction qui était une chaîne initialement
Répondre
eval(mystr)
.
En utilisant exec() pour plus que les chaînes d'expression:
def func(mystr):
exec(mystr)
func("mystr='1+2+3';print(mystr)")
Quelle est la différence entre eval() et exec()? –
@franciscosollima [exec()] (https://docs.python.org/3/library/functions.html#exec) prend n'importe quel code Python (phrases) pendant que [eval()] (https: //docs.python .org/3/library/functions.html # eval) juste des expressions. Le doc lié est clair;) –
Merci! Les docs n'étaient pas liés avant, bon ajout! –
Vous pouvez utiliser eval (mystr).
print eval('1+2+3')
vous donne 6
utilisation 'eval (mystr)' –
Résolu, Je vous remercie. – Mehdi