Curso
Diferente de linguagens compiladas, como C++ ou Java, que precisam ser traduzidas para código de máquina antes da execução, Python é interpretado e executa as instruções diretamente. Isso torna o ambiente REPL perfeito para experimentação, seja para testar trechos de código, explorar novos conceitos ou depurar linha a linha. A vantagem é que ele vem embutido em toda instalação do Python, pronto para quando você precisar.
Neste tutorial, vou mostrar como usar o ambiente REPL do Python com exemplos, explorar seus recursos e alternativas ao REPL para turbinar seu fluxo de trabalho. Se você está começando em Python, recomendo fazer nosso curso de Introduction to Python, que aborda habilidades como tipos de dados, listas, funções básicas e pacotes.
O que é um REPL do Python?
REPL significa Read-Eval-Print Loop (ler, avaliar, imprimir e repetir), descrevendo suas quatro etapas fundamentais:
- Read: o REPL lê a entrada do usuário, que pode ser uma única linha de código ou uma instrução de múltiplas linhas.
- Evaluate: ele avalia o código, executa a instrução ou expressão e calcula seu resultado.
- Print: imprime o resultado da avaliação no console. Se o código não produz saída, como em uma atribuição, nada é impresso.
- Loop: o REPL volta ao início e fica pronto para a próxima linha de entrada.
Essas etapas funcionam continuamente, criando um ambiente interativo em que você digita código e vê o resultado na hora. O REPL do Python apresenta um prompt primário >>> para novas instruções e um prompt secundário ... para linhas de continuação, como dentro de loops ou definições de funções. Com exemplos nas seções abaixo, vamos ver como esses prompts funcionam.
Os termos "interactive shell", "interpreter session" e "REPL" são usados de forma intercambiável para descrever esse ambiente.
Por que usar um REPL do Python
Você pode usar um REPL do Python para as seguintes tarefas:
Testar rapidamente trechos de código e funções de bibliotecas: você consegue experimentar pedaços pequenos de código sem criar um arquivo de script.
>>> import math
>>> math.sqrt(16)
4.0
Explorar sintaxe e testar ideias: encare o REPL como seu ambiente de testes pessoal. Você pode experimentar novos recursos, como diferentes tipos de dados, operadores e estruturas de controle de fluxo, para ver exatamente como se comportam, sem risco de quebrar um programa maior.
>>> [x**2 for x in range(5)]
[0, 1, 4, 9, 16]
Depurar e inspecionar variáveis: use a sessão REPL para conferir os valores e estados das variáveis passo a passo, facilitando o entendimento e a correção de problemas.
>>> x = 42
>>> type(x)
<class 'int'>
>>> x / 7
6.0
Usar como calculadora ou ferramenta de aprendizado: os resultados imediatos ajudam tanto em cálculos quanto para aprender o básico de Python.
>>> 10 * (5 + 2)
70
Como iniciar e sair de uma sessão REPL
Para iniciar uma sessão REPL do Python, abra o terminal ou prompt de comando. Em seguida, digite python ou python3 e pressione Enter. Isso abre o shell interativo.
Você também pode iniciar uma sessão interativa após executar um script usando a flag -i. Por exemplo, python -i calc_tax.py vai executar calc_tax.py e, em seguida, abrir o REPL com as variáveis do script ainda carregadas em memória.
Para sair do REPL, você pode usar um dos seguintes comandos:
-
Digite
quit()ouexit()e depois pressione Enter. -
No Unix/Linux/macOS, pressione Ctrl+D.
-
No Windows, pressione Ctrl+Z e depois Enter.
Executando código no ambiente REPL
Você pode executar código nas sessões REPL do Python de diferentes formas, dependendo da complexidade. Vamos ver os tipos de código que dá para rodar no REPL.
Instruções e expressões simples
O REPL avalia instantaneamente expressões e instruções simples. Por exemplo, você pode fazer operações aritméticas, atribuir variáveis e avaliar expressões booleanas. O resultado de uma expressão é impresso automaticamente.
>>> 5 + 4
9
>>> name = "Allan"
>>> name
'Allan'
>>> 10 > 5
TrueSe uma instrução, como uma atribuição de variável, não produz saída, o interpretador do REPL não imprime nada. Se você cometer um erro, o REPL retorna um erro imediatamente.
Instruções compostas
O REPL do Python também lida com instruções compostas de múltiplas linhas, como if e loops for. Ele muda automaticamente para o prompt secundário (...) depois que você digita uma linha terminada com dois-pontos (:) e pressiona Enter, indicando que está aguardando o bloco de código indentado.
Perceba que você precisará indentar o código manualmente; o REPL não faz indentacão automática. Para sinalizar o fim da instrução composta, pressione Enter em uma linha vazia.
Continuações de linha explícitas e implícitas
Você também pode escrever instruções de múltiplas linhas no REPL do Python usando continuação de linha. Uma continuação explícita usa a barra invertida \ no fim da linha para indicar que a instrução continua na próxima linha.
Continuações implícitas acontecem automaticamente quando o código está dentro de parênteses (), colchetes [] ou chaves {}.
Imprimir vs. avaliar
O recurso de autoimpressão do REPL só funciona com expressões que retornam um valor. Por exemplo, se você tiver uma lista e adicionar um item com temp.append(45), nada será exibido. Para ver a nova lista, você precisa avaliar explicitamente a variável da lista na linha seguinte. Para funções que retornam None, você precisa usar print() para ver a saída.
Recursos úteis do REPL
O REPL do Python tem vários recursos embutidos que tornam o uso e o aprendizado mais produtivos. Vou comentar alguns que considero bem úteis.
Variável especial _
O sublinhado (_) é uma variável especial na sessão REPL que armazena o resultado da última expressão. Isso é prático quando você quer reutilizar resultados sem precisar digitá-los de novo.
No exemplo abaixo, _ guarda o valor 30, resultado da expressão 6*5.
Ferramentas de introspecção
O Python oferece várias funções embutidas para explorar objetos e o ambiente de forma interativa. A tabela abaixo resume o uso de cada função com exemplos.
|
Ferramenta |
Propósito |
Exemplo |
|
|
Retorna uma lista com todos os nomes (atributos e métodos) no escopo local atual ou de um objeto especificado. |
|
|
|
Abre o sistema de ajuda embutido para um objeto, módulo ou função, exibindo sua documentação (docstrings). |
|
|
|
Retorna o atributo |
|
|
|
Retorna um dicionário que representa a tabela de símbolos local atual (variáveis no escopo corrente). |
|
|
|
Retorna um dicionário que representa a tabela de símbolos global atual (variáveis acessíveis em todo lugar). |
|
Histórico de código e completação com Tab
O REPL acelera a digitação com os recursos de histórico e autocompletar:
- Histórico de código: navegue pelos comandos já digitados com as setas Cima e Baixo para reexecutar, alterar ou corrigir linhas anteriores rapidamente.
- Completação com Tab: ajuda a completar nomes de variáveis, módulos e atributos. Por exemplo, digitar
impore pressionar Tab completa paraimport, ou digitarstr.seguido de Tab lista os métodos de string.
Atalhos de teclado
Veja alguns atalhos comuns que deixam a navegação no REPL mais eficiente.
|
Atalho |
Ação |
|
Ctrl+C |
Interrompe o comando em execução, como um loop longo, e gera um |
|
Ctrl+D (Unix) |
Sai do REPL (equivalente a |
|
Ctrl+Z + Enter (Win) |
Sai do REPL |
|
Ctrl+L |
Limpa a tela (como o comando |
|
Setas Cima / Baixo |
Percorre o histórico de comandos |
|
Ctrl+A |
Move o cursor para o início da linha |
|
Ctrl+E |
Move o cursor para o fim da linha |
|
Ctrl+K |
Apaga do cursor até o fim da linha |
|
Ctrl+U |
Apaga do cursor até o início da linha |
Personalizando o REPL
O REPL padrão do Python pode ser personalizado para se adaptar ao seu fluxo de trabalho e preferências.
Arquivo de inicialização
Defina a variável de ambiente PYTHONSTARTUP com o caminho de um script Python que será executado automaticamente sempre que o REPL iniciar. Esse script pode pré-importar módulos usados com frequência, definir funções ou mudar os prompts.
Por exemplo, crie um arquivo ~/.pystartup com o seguinte conteúdo:
import sys, os, math, random
print("Custom REPL ready. Pre-imported: sys, os, math, random")
# Change the prompt strings
import sys
sys.ps1 = ">>> "
sys.ps2 = "... "
Se você usa Windows, configure a variável com o comando abaixo:
setx PYTHONSTARTUP "C:\path\to\pystartup.py"
Saída rica com rich
Você pode usar a biblioteca rich para melhorar e colorir a saída no REPL. Primeiro, instale o módulo rich via pip.
pip install rich
Depois, habilite o rich com import e use nas sessões REPL do Python. No exemplo abaixo, usei a biblioteca para imprimir palavras em diferentes cores.

Comandos de REPL para você testar
Como dá para ver, a sessão REPL do Python é simples de usar. Experimente os comandos abaixo para praticar suas habilidades
|
Comando |
Propósito |
Saída/descrição |
|
|
Introspecção: veja todos os métodos e atributos disponíveis no tipo embutido |
|
|
|
Documentação: exibe a docstring do método |
Uma descrição detalhada do que |
|
|
Importar um módulo: carrega a biblioteca padrão |
Sem saída (mas o módulo fica disponível). |
|
|
Cálculo: obtém o valor de π. |
|
|
|
Cálculo: calcula sen(π/2). |
|
|
|
Teste rápido: seleciona um item aleatório de uma lista. |
|
|
|
Tratamento de erro/saída: inicia um loop infinito e depois pressione Ctrl+C para interromper e sair. |
|
Limitações do REPL padrão
Embora o REPL padrão do Python seja ótimo para tarefas rápidas, ele pode parecer limitado em relação a uma IDE moderna. Você vai notar a falta de alguns recursos, como:
- Sem realce de sintaxe: todo o código aparece como texto simples. Fica mais difícil distinguir rapidamente palavras-chave, strings e comentários.
- Pouca autoindentação: apesar de lidar com o prompt de continuação (
...), você precisa digitar manualmente a indentação correta para blocos compostos, como if e for. - Completação básica: o autocompletar com Tab funciona, mas não oferece sugestões com contexto, documentação inline ou fuzzy matching como em shells avançados.
- Edição ruim de múltiplas linhas: editar blocos complexos de várias linhas é trabalhoso.
- Depois que um bloco é enviado, não é fácil editá-lo ou recuperá-lo do histórico.
REPLs alternativos
Para superar essas limitações do interpretador padrão, existem REPLs e ambientes aprimorados, baseados no modelo interativo do Python, que oferecem recursos extras para aumentar a produtividade e o aprendizado. Recomendo testar qualquer um dos seguintes para ver qual combina melhor com você.
- IDLE: um ambiente Python simples com interface gráfica, incluso no próprio Python. Oferece realce de sintaxe, editor integrado e depurador, sendo amigável para iniciantes.
- IPython: um REPL poderoso com autocompletar avançado, realce de sintaxe, magic commands (comandos especiais iniciados com %), histórico extenso e acesso fácil a comandos do shell. Muito usado em ciência de dados e computação científica.
- bpython: REPL no terminal com realce de sintaxe inline, sugestões automáticas e acesso rápido à documentação. É leve, mas adiciona muita usabilidade em relação ao REPL padrão.
- ptpython: voltado para usuários experientes, é um REPL avançado com edição real de múltiplas linhas, realce robusto de sintaxe e até suporte a mouse, dando mais controle no terminal.
- REPLs online: ambientes no navegador como o shell interativo do Python.org e o Python Morsels REPL são ótimos para testes rápidos, compartilhar código ou praticar onde estiver.
Conclusão
A sessão REPL do Python oferece um ambiente rápido e interativo para experimentar código, sendo valiosa para testes, aprendizado e exploração de ideias. Dominar seus recursos embutidos te dá uma ferramenta potente para as tarefas do dia a dia. Para fluxos de trabalho mais complexos ou maior usabilidade, testar REPLs avançados pode elevar ainda mais a experiência de codificação interativa.
Para um entendimento completo de Python, confira nossas trilhas de habilidades Python Data Fundamentals e Python Programming Fundamentals. O Python Cheat Sheet for Beginners também quebra um galho quando você quer ver rapidamente como dividir uma lista em Python.
FAQs
Como iniciar o REPL do Python?
Abra o terminal e digite python ou python3, dependendo do seu sistema.
Como sair do REPL?
Digite quit() ou exit(), ou use Ctrl+D no Unix ou Ctrl+Z + Enter no Windows.
Qual a diferença entre o REPL e rodar um script?
O REPL executa código interativamente, linha a linha, enquanto um script executa todo o código de um arquivo de uma vez.
O que é a variável _ no REPL?
_ guarda o resultado da última expressão avaliada, para você reutilizá-lo rapidamente.
Quais são os prompts >>> e ...?
>>> é o prompt primário e ... é o prompt secundário para entrada de várias linhas.

