Compilación de Python ()

El método compile () devuelve un objeto de código Python de la fuente (cadena normal, una cadena de bytes o un objeto AST).

La sintaxis de compile()es:

 compilar (fuente, nombre de archivo, modo, banderas = 0, dont_inherit = False, optimizar = -1)

compile() El método se usa si el código Python está en forma de cadena o es un objeto AST y desea cambiarlo a un objeto de código.

El objeto de código devuelto por el compile()método se puede llamar más tarde usando métodos como: exec () y eval () que ejecutarán código Python generado dinámicamente.

compile () Parámetros

  • source - una cadena normal, una cadena de bytes o un objeto AST
  • filename- archivo desde el que se leyó el código. Si no se leyó de un archivo, puede dar un nombre usted mismo
  • mode- O execo evalo single.
    • eval - acepta solo una expresión.
    • exec - Puede tomar un bloque de código que tenga declaraciones, clases y funciones de Python, etc.
    • single - si consta de una única declaración interactiva
  • flags(opcional) y dont_inherit(opcional): controla qué declaraciones futuras afectarán la compilación de la fuente. Valor predeterminado: 0
  • optimize(opcional): nivel de optimización del compilador. Valor predeterminado -1.

Valor devuelto de compile ()

compile() El método devuelve un objeto de código Python.

Ejemplo: ¿Cómo funciona compile ()?

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

Salida

 suma = 11

Aquí, la fuente está en forma de cadena normal. El nombre del archivo es sumstring. Y, el execmodo posterior permite el uso de exec()método.

El método compile () convierte la cadena en un objeto de código Python. A continuación, el objeto de código se ejecuta mediante el exec()método.

Articulos interesantes...