Compiler Python ()

La méthode compile () renvoie un objet de code Python à partir de la source (chaîne normale, chaîne d'octets ou objet AST).

La syntaxe de compile()est:

 compiler (source, nom de fichier, mode, indicateurs = 0, dont_inherit = False, optimiser = -1)

compile() est utilisée si le code Python est sous forme de chaîne ou est un objet AST et que vous souhaitez le changer en objet code.

L'objet code retourné par la compile()méthode peut être appelé ultérieurement en utilisant des méthodes telles que: exec () et eval () qui exécuteront du code Python généré dynamiquement.

Paramètres compile ()

  • source - une chaîne normale, une chaîne d'octets ou un objet AST
  • filename- fichier à partir duquel le code a été lu. S'il n'a pas été lu à partir d'un fichier, vous pouvez donner un nom vous-même
  • mode- Soit execou evalou single.
    • eval - n'accepte qu'une seule expression.
    • exec - Cela peut prendre un bloc de code contenant des instructions, des classes et des fonctions Python, etc.
    • single - s'il consiste en une seule déclaration interactive
  • flags(facultatif) et dont_inherit(facultatif) - contrôle quelles instructions futures affecteront la compilation de la source. Valeur par défaut: 0
  • optimize(optionnel) - niveau d'optimisation du compilateur. Valeur par défaut -1.

Valeur renvoyée par compile ()

compile() La méthode retourne un objet de code Python.

Exemple: Comment fonctionne compile ()?

 codeInString = 'a = 5b=6sum=a+bprint("sum =",sum)' codeObejct = compile(codeInString, 'sumstring', 'exec') exec(codeObejct)

Production

 somme = 11

Ici, la source est sous forme de chaîne normale. Le nom du fichier est sumstring. Et, le execmode plus tard permet l'utilisation de la exec()méthode.

La méthode compile () convertit la chaîne en objet de code Python. L'objet code est ensuite exécuté à l'aide de exec()method.

Articles intéressants...