Compilar Python ()

O método compile () retorna um objeto de código Python da fonte (string normal, string de byte ou um objeto AST).

A sintaxe de compile()é:

 compilar (fonte, nome do arquivo, modo, sinalizadores = 0, dont_inherit = False, otimizar = -1)

compile() método é usado se o código Python está em forma de string ou é um objeto AST e você deseja alterá-lo para um objeto de código.

O objeto de código retornado por compile()método pode ser chamado posteriormente usando métodos como: exec () e eval (), que irão executar código Python gerado dinamicamente.

Parâmetros compile ()

  • source - uma string normal, uma string de byte ou um objeto AST
  • filename- arquivo do qual o código foi lido. Se não foi lido de um arquivo, você mesmo pode dar um nome
  • mode- Ou execou evalou single.
    • eval - aceita apenas uma única expressão.
    • exec - Pode ser um bloco de código que contém instruções, classes e funções Python e assim por diante.
    • single - se consistir em uma única instrução interativa
  • flags(opcional) e dont_inherit(opcional) - controla quais declarações futuras afetam a compilação da fonte. Valor padrão: 0
  • optimize(opcional) - nível de otimização do compilador. Valor padrão -1.

Valor de retorno de compile ()

compile() método retorna um objeto de código Python.

Exemplo: Como funciona o compile ()?

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

Resultado

 soma = 11

Aqui, a fonte está na forma de string normal. O nome do arquivo é sumstring. E, o execmodo posterior permite o uso de exec()método.

O método compile () converte a string em um objeto de código Python. O objeto de código é então executado usando o exec()método.

Artigos interessantes...