Como usar o compilador Python online
- Escreva ou cole seu código no editor. A página começa com um exemplo curto; Restaurar exemplo o traz de volta a qualquer momento.
- Se o seu programa chama
input(), digite as respostas na caixa Entrada (stdin), abaixo da saída, uma linha por chamada deinput(). - Pressione Executar ou use Ctrl + Enter (⌘ + Enter no Mac).
- Leia o resultado no painel Saída. Tudo o que for impresso em
stderr, incluindo tracebacks, aparece destacado como erro. - Escolha um limite de tempo de 5, 15 ou 60 segundos. Se um script rodar por mais tempo (um
while True:acidental, por exemplo), ele é interrompido automaticamente. Você também pode pressionar Parar a qualquer momento.
A primeira execução baixa o runtime do Python, cerca de 10 MB. Seu navegador o guarda em cache, então as execuções seguintes começam muito mais rápido. Use Copiar ou main.py para salvar seu script.
Seu código nunca sai do seu dispositivo. O Python roda dentro do seu navegador num Web Worker, então nada é enviado ou armazenado nos nossos servidores. O editor lembra seu último código no armazenamento local do navegador, e em nenhum outro lugar.
O que é suportado
O compilador usa o Python 3.12 por meio do Pyodide 0.26, o interpretador CPython compilado para WebAssembly. É CPython de verdade, não uma imitação parecida com Python, então a linguagem se comporta exatamente como no seu computador.
- A biblioteca padrão:
math,collections,itertools,datetime,json,re,dataclasses,statisticse mais. - Carregamento automático de pacotes: quando seu código importa um pacote que o Pyodide oferece, como NumPy ou pandas, ele é baixado na hora. Muitos pacotes em Python puro e científicos estão disponíveis.
- Entrada padrão via
input()esys.stdin, alimentada pela caixa de stdin. async/await: o código roda comrunPythonAsync, então umawaitno nível superior funciona.
Limitações a considerar:
- Sem sockets de rede. Módulos como
socket,urllib.requesterequestsnão conseguem abrir conexões daqui. - Sem arquivos persistentes. Você pode criar e ler arquivos com
open(), mas eles ficam na memória e se perdem quando você recarrega a página ou pressiona Parar. - Os gráficos não são exibidos. O matplotlib pode ser importado, mas nenhuma figura aparece, então imprima números ou tabelas.
- Pacotes com código nativo que o Pyodide não inclui não podem ser instalados.
Referência rápida de Python
from dataclasses import dataclass
@dataclass
class Item:
name: str
price: float
cart = [Item("pen", 1.5), Item("book", 12.0)]
total = sum(i.price for i in cart)
print(f"{len(cart)} items, total {total:.2f}")
if total > 10 and cart:
print("Free shipping!")
| Tarefa | Sintaxe |
|---|---|
| Imprimir texto formatado | print(f"{x:.2f}") |
| Ler uma linha de entrada | name = input("Name? ") |
| Converter a entrada em número | n = int(input()) |
| List comprehension | [x * 2 for x in data if x > 0] |
| Loop em dicionário | for k, v in d.items(): |
| Tratar um erro | try: ... except ValueError as e: ... |
Dicas
- Se o seu programa pedir entrada mais vezes do que a caixa de stdin tem linhas, o Python gera um
EOFError. Adicione uma linha para cada chamada deinput(). - Imports grandes, como o pandas, levam alguns segundos na primeira vez. O download conta para o limite de tempo, então escolha 60 s para scripts pesados.
- Cada execução começa com variáveis novas, mas os módulos que você já importou continuam carregados, então as execuções repetidas são rápidas.
- Está trabalhando com saída em JSON? Cole-a no formatador de JSON para formatá-la e validá-la.
Perguntas frequentes
Este é um interpretador Python de verdade?
Sim. O Pyodide é o CPython 3.12 compilado para WebAssembly. A sintaxe, as funções embutidas e a biblioteca padrão são as mesmas do Python no computador. As principais diferenças vêm de rodar num navegador: não há acesso à rede nem sistema de arquivos permanente.
Posso usar NumPy e pandas?
Sim. Importe-os normalmente e eles serão baixados na primeira vez que você executar o código. Muitos outros pacotes científicos e em Python puro que o Pyodide oferece carregam da mesma forma.
Como passar dados de entrada para o meu programa?
Digite os valores na caixa de stdin, uma linha para cada chamada de input(), na ordem em que o programa os pede. Depois pressione Executar.
Por que meu script para depois de 15 segundos?
O limite de tempo padrão protege você de loops infinitos que travariam a aba. Escolha 60 s no menu de limite de tempo para cálculos mais longos.
Posso executar outras linguagens também?
Sim. Experimente o compilador JavaScript online ou veja todas as ferramentas para desenvolvedores gratuitas.
Atualizado