Pular para o conteúdo

Editor Python

Execute Python no navegador com entrada, saída e botão de parada.

Código Python

Processado no navegador.

Tab insere quatro espaços. Shift + Tab sai do editor. Ctrl/⌘ + Enter executa o código.

Arquivos .py UTF-8 · até 40.000 caracteres · leitura local

Uma resposta por linha para input(). Ao acabar as linhas, ocorre EOFError.

40.000 caracteres de código · 10.000 de entrada · 15 segundos · 65.536 de saída

A primeira execução baixa o Pyodide 0.28.3 do jsDelivr. Seu código e sua entrada não são enviados com esse download.

Saída

Execute o código para ver a saída.

Cada execução começa do zero. Rede, página principal e armazenamento persistente são restritos. Sem pip, gráficos interativos, sockets ou processos de desktop.

Execute um programa pequeno

Escreva em main.py e selecione Executar Python. O exemplo esmaecido imprime uma saudação e os quadrados de 0 a 4. A primeira execução precisa de internet para baixar o motor; as seguintes nesta página reutilizam os dados. Se o campo de código estiver vazio, Executar Python roda este exemplo e Salvar .py o salva. Limpar redefine o código, a entrada e a saída.

Outro exemplo: import statistics seguido de print(statistics.mean([3, 6, 9])) imprime 6. Expressões na última linha também exibem seu valor. Saída normal e erros são distinguidos, e o traceback mostra onde ocorreu o erro.

Prepare a entrada

Para name = input('Name: '), digite um nome na primeira linha da entrada padrão e acrescente print('Hello,', name). Cada input() consome uma linha; ao acabarem, ocorre EOFError sem abrir uma caixa de diálogo.

Tab insere quatro espaços. Ctrl ou Command mais Enter executa. Salvar .py baixa o código atual. Copiar saída inclui o texto de console e os erros capturados.

Cores básicas distinguem palavras-chave, strings, números e comentários. Enter mantém a indentação e adiciona quatro espaços após um bloco como for ou if terminado em dois-pontos. Shift + Enter insere apenas uma quebra de linha. Abrir .py lê um arquivo UTF-8 localmente e pede confirmação antes de substituir o código digitado. Arquivos inválidos ou grandes demais mantêm seu código intacto.

Pare e reinicie

Parar encerra o worker até em um laço while True. A próxima execução cria uma sessão nova. O limite de 15 segundos começa após iniciar o motor; a saída é limitada a 65.536 caracteres. Editar código ou entrada cancela a execução e limpa o resultado anterior.

Variáveis, importações e arquivos não persistem entre execuções. Inclua todo o necessário no editor. Grandes alocações ainda podem esgotar a memória do dispositivo; use exemplos pequenos, principalmente em celulares.

Suporte e privacidade

É usada a biblioteca padrão incluída no Pyodide 0.28.3, com módulos como math, random, statistics e json. NumPy e pacotes pip não são carregados. Janelas de desktop, processos do sistema, sockets TCP e gráficos interativos não são suportados.

O código roda em um worker dentro de uma sandbox de origem opaca com política restritiva. Requisições externas do código são bloqueadas. A página baixa o motor do jsDelivr sem anexar código ou entrada. Não é preciso conta nem API de execução remota.

Pyodide 0.28.3 · GitHub · MPL-2.0

Perguntas frequentes

Por que a primeira execução demora?

O navegador baixa e inicializa Python e WebAssembly. Se falhar, execute novamente.

Posso instalar pacotes?

Não. Apenas a biblioteca padrão incluída está disponível.

Por que uma variável desapareceu?

Cada execução usa uma sessão nova. Inclua a atribuição no código.

Funciona offline ou no celular?

O primeiro download exige internet. A interface se adapta; memória e suporte a WebAssembly dependem do dispositivo.