Editor Python (Esegui nel Browser)

Scrivi ed esegui vero codice Python nel tuo browser — senza installazioni, senza server, senza account. Basato su Pyodide, una build completa di CPython compilata in WebAssembly.

1.150 visualizzazioni

Pronto — premi Esegui.
Output




    
    

Come Funziona

Questo strumento esegue un vero interprete CPython — la stessa implementazione di riferimento da cui è costruito il comando python3 del tuo desktop — compilato in WebAssembly tramite Pyodide, caricato una sola volta nel tuo browser ed eseguito interamente sul tuo dispositivo. Il tuo codice non raggiunge mai il server di questo sito; non c'è alcun sottoprocesso sandbox su un backend, nessun job in coda, nulla da caricare. La prima esecuzione scarica il runtime Python (circa 12 MB), che il tuo browser mette poi in cache, così ogni esecuzione successiva — e ogni esecuzione in una visita futura — parte istantaneamente invece di riscaricare qualsiasi cosa.

Poiché si tratta di vero CPython e non di un sottoinsieme simulato, la semantica reale di Python si applica esattamente come farebbe in locale. Questo include la sua regola sintattica distintiva: Python determina la struttura dei blocchi — dove inizia e finisce il corpo di una funzione, un ciclo o un ramo if — esclusivamente in base al livello di indentazione, a differenza di C, Java o JavaScript, che usano le parentesi graffe {} per lo stesso scopo. Mescolare tabulazioni e spazi all'interno di un blocco è esattamente il genere di cosa che questo vero interprete rifiuterà con un IndentationError invece di indovinare silenziosamente, perché Python 3 rifiuta di eseguire codice la cui indentazione è ambigua.

Cosa Sapere

L'intera libreria standard di Python viene fornita insieme al runtime — math, json, re, datetime e il resto — quindi tutto ciò che richiede solo la libreria standard funziona senza modifiche. I pacchetti di terze parti da PyPI sono una questione a parte: non vengono precaricati, poiché includerli farebbe lievitare il download iniziale per ogni visitatore, indipendentemente dal fatto che ne abbia bisogno o meno.

Domande Frequenti

Perché la prima esecuzione richiede qualche secondo?

Il tuo browser scarica e inizializza il runtime Python in WebAssembly la prima volta — dopodiché viene messo in cache, e le visite successive (e le esecuzioni successive sulla stessa pagina) partono immediatamente.

Posso installare pacchetti come numpy o requests?

Questo strumento esegue solo la libreria standard. Pyodide supporta l'installazione di pacchetti Python puri tramite micropip, ma ciò richiede un ulteriore passaggio di download ed esula dallo scopo di questo strumento leggero — per questo, usa direttamente la console di Pyodide.

Il mio codice viene eseguito sul vostro server?

No — non viene caricato nulla da nessuna parte. L'interprete Python viene eseguito come WebAssembly all'interno della tua scheda del browser, esattamente come qualsiasi altro JavaScript in questa pagina.

Perché ottengo un IndentationError quando mescolo tabulazioni e spazi?

Python non ha parentesi graffe per segnare dove inizia o finisce un blocco — il livello di indentazione è la struttura del blocco. Python 3 rifiuta deliberatamente di eseguire un file in cui tabulazioni e spazi sono mescolati in modo incoerente tra le righe, invece di indovinare cosa intendevi, ed è per questo che questo interprete genuinamente Python solleva un IndentationError invece di fraintendere silenziosamente il tuo codice.

È davvero Python, o una reimplementazione limitata in JavaScript?

È vero CPython — lo stesso interprete basato su C che esegue Python su server e desktop — ricompilato in WebAssembly in modo da poter essere eseguito all'interno di una sandbox del browser. Il comportamento del linguaggio, i messaggi di errore e la libreria standard corrispondono tutti a una normale installazione locale.

Commenti

Ancora nessun commento — scrivi il primo!

Strumenti Simili