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 ASTfilename
- arquivo do qual o código foi lido. Se não foi lido de um arquivo, você mesmo pode dar um nomemode
- Ouexec
oueval
ousingle
.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) edont_inherit
(opcional) - controla quais declarações futuras afetam a compilação da fonte. Valor padrão: 0optimize
(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 exec
modo 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.