eval() Executar expressão

Última atualização: 2026-09-22

eval() Executar expressão

eval() executa uma expressão Python contida em uma string e retorna o resultado. **Aviso de segurança**: não use eval para processar entradas não confiáveis.

CategoriaFunções internas
TipoFunção interna
Versão do Pythonall

📝 Sintaxe

eval(expression[, globals[, locals]])

⚙️ Parâmetros

expression ObrigatórioA Python expression string or code object.
globals OpcionalThe global namespace dict.(Padrão:None)
locals OpcionalThe local namespace dict.(Padrão:None)

Retorno:The result of evaluating the expression.

💥 Exceções

▶ Exemplo

Edite o código, clique em Executar e veja o resultado no painel de saída:

Saída:

15
1024
⚠️ Aviso eval pode executar código arbitrário; em ambiente de produção, use ast.literal_eval em seu lugar.
Mais estudos de caso em breve — aguarde.

❓ Perguntas frequentes

QQual é a diferença entre eval() e exec()?
Aeval() executa uma única expressão e retorna o resultado (ex.: eval('1 + 2') retorna 3); exec() executa declarações e blocos (if, for, def etc.) e retorna None.
QO que acontece com eval('x = 1')?
ALevanta SyntaxError. Atribuição é uma declaração, não uma expressão; eval() só pode avaliar expressões — para executar declarações use exec().
QPor que não devo usar eval para processar entrada do usuário?
Aeval() pode executar código arbitrário, como a string eval("__import__('os').system('dir')"); para analisar entrada do usuário use ast.literal_eval, que só trata literais.
QPosso usar variáveis externas dentro do eval?
APor padrão sim (usa os namespaces global/local atuais); também é possível passar namespaces personalizados via argumentos globals/locals para restringir os nomes acessíveis à expressão.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%