Vai al contenuto principale

Python REPL: una guida pratica al coding interattivo

Scopri come il REPL di Python ti permette di eseguire codice in modo interattivo per test, debug e apprendimento. Trova i comandi essenziali, le opzioni di personalizzazione e le alternative avanzate.
Aggiornato 29 set 2026  · 10 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

A differenza dei linguaggi compilati come C++ o Java, che devono essere tradotti in codice macchina prima dell'esecuzione, Python è interpretato ed esegue direttamente le istruzioni. Questo rende l'ambiente REPL perfetto per la sperimentazione, che tu stia testando snippet, esplorando nuovi concetti o facendo debug riga per riga. Il suo vantaggio è che è integrato in ogni installazione di Python, quindi è pronto ogni volta che lo sei tu.

In questo tutorial ti mostrerò come usare l'ambiente REPL di Python con esempi, esplorarne le funzionalità e le alternative per migliorare il tuo workflow. Se stai iniziando con Python, ti consiglio il nostro corso Introduzione a Python, che tratta argomenti come tipi di dato, liste, funzioni di base e pacchetti.

Che cos'è un REPL Python?

La sessione REPL sta per Read-Eval-Print Loop e descrive le sue quattro fasi fondamentali:

  • Read: L'ambiente REPL legge l'input dell'utente, che può essere una singola riga di codice o un'istruzione multi-linea.
  • Evaluate: Valuta il codice, esegue l'istruzione o l'espressione e calcola il risultato.
  • Print: Questa funzione stampa il risultato della valutazione in console. Se il codice non produce output, come un'assegnazione, non viene stampato nulla.
  • Loop: Il REPL torna all'inizio, pronto per la successiva riga di input.

Queste fasi lavorano in continuo, creando un ambiente interattivo in cui puoi digitare codice e vedere subito l'output. Il REPL di Python presenta un prompt primario >>> per le nuove istruzioni e un prompt secondario ... per le righe di continuazione, ad esempio all'interno di cicli o definizioni di funzioni. Negli esempi qui sotto vedremo come funzionano questi prompt.

I termini "shell interattiva", "sessione dell'interprete" e "REPL" sono spesso usati in modo intercambiabile per descrivere questo ambiente.

Perché usare un REPL Python

Puoi usare un REPL Python per le seguenti attività:

Testare rapidamente snippet di codice e funzioni di libreria: Puoi provare subito piccoli pezzi di codice senza creare un file script.

>>> import math
>>> math.sqrt(16)
4.0

Esplorare la sintassi e sperimentare idee: Pensa all'ambiente REPL come alla tua sandbox personale. Puoi provare cose nuove, come diversi tipi di dato, operatori e strutture di controllo, per vedere esattamente come si comportano senza rischiare di rovinare un programma più grande.

>>> [x**2 for x in range(5)]
[0, 1, 4, 9, 16]

Fare debug e ispezionare variabili: Puoi usare la sessione REPL per controllare passo passo i valori e lo stato delle variabili, rendendo più facile capire e risolvere i problemi.

>>> x = 42
>>> type(x)
<class 'int'>
>>> x / 7
6.0

Usarlo come calcolatrice o strumento di apprendimento: I risultati immediati lo rendono utile per fare calcoli o imparare le basi di Python.

>>> 10 * (5 + 2)
70

Come avviare e uscire da una sessione REPL

Per avviare una sessione REPL Python, apri il terminale o il prompt dei comandi. Poi digita python o python3 e premi Invio. Questo avvia la shell interattiva.

Puoi anche avviare una sessione interattiva dopo l'esecuzione di uno script usando il flag -i. Ad esempio, python -i calc_tax.py eseguirà calc_tax.py e poi ti porterà nell'ambiente REPL con le variabili dello script ancora caricate in memoria.

Per uscire dal REPL, puoi usare uno di questi comandi:

  • Digita quit() o exit()  poi premi Invio.

  • Su Unix/Linux/macOS, premi Ctrl+D.

  • Su Windows, premi Ctrl+Z e poi Invio.

Eseguire codice nell'ambiente REPL

Puoi eseguire codice nelle sessioni REPL di Python in modi diversi a seconda della complessità. Vediamo i tipi di codice che puoi eseguire nel REPL.

Istruzioni ed espressioni semplici

L'ambiente REPL può valutare all'istante espressioni e istruzioni semplici. Ad esempio, puoi eseguire operazioni aritmetiche, assegnare variabili e valutare espressioni booleane. Il risultato di un'espressione viene stampato automaticamente. 

>>> 5 + 4
9
>>> name = "Allan"
>>> name
'Allan'
>>> 10 > 5
True

Se un'istruzione, come un'assegnazione di variabile, non produce output, l'interprete REPL non stampa nulla. Se commetti un errore, il REPL fornisce feedback immediato sollevando un'eccezione.

Istruzioni composte

L'ambiente REPL di Python gestisce anche istruzioni composte multi-linea come le istruzioni if e i cicli for. Dopo che digiti una riga che termina con i due punti (:) e premi Invio, passa automaticamente al prompt secondario (...), indicando che è in attesa del blocco di codice indentato.

Tieni presente che dovrai indentare il codice manualmente; l'ambiente REPL non fa auto-indentazione. Per segnalare la fine dell'istruzione composta, premi Invio su una riga vuota.

Continuazioni di riga esplicite e implicite

Puoi anche scrivere istruzioni multi-linea nella sessione REPL di Python usando le continuazioni di riga. Una continuazione esplicita usa il backslash \ alla fine di una riga per indicare che l'istruzione continua alla riga successiva. 

Le continuazioni implicite avvengono automaticamente quando il codice è racchiuso tra parentesi (), quadre [] o graffe {}.

Stampa vs valutazione

La funzionalità di auto-print del REPL funziona solo sulle espressioni con un valore di ritorno. Ad esempio, se hai una lista e aggiungi un elemento con temp.append(45), non verrà prodotto alcun output. Per vedere la nuova lista devi valutare esplicitamente la variabile lista nella riga successiva. Per le funzioni che restituiscono None devi usare print() per vederne l'output.

Funzionalità utili del REPL

Il REPL di Python ha diverse funzionalità integrate che lo rendono più produttivo da usare e da imparare. Di seguito parlo di alcune funzionalità che ho trovato utili.

Variabile speciale _

L'underscore (_) è una variabile speciale nella sessione REPL che memorizza il risultato dell'ultima espressione. È utile quando vuoi riutilizzare risultati senza ridigitarli.

Nell'esempio seguente, _ memorizza il valore 30, risultato dell'espressione 6*5.

Strumenti di introspezione

Python fornisce diverse funzioni integrate per esplorare in modo interattivo oggetti e ambiente. La tabella seguente riassume l'uso di ciascuna funzione con esempi.

Strumento

Scopo

Esempio

dir()

Restituisce un elenco di tutti i nomi (attributi e metodi) nello scope locale corrente o di un oggetto specificato.

>>> dir() o >>> dir(list)

help()

Avvia il sistema di aiuto integrato per un oggetto, modulo o funzione, mostrando la sua documentazione (docstring).

>>> help(print) o >>> help(math)

vars()

Restituisce l'attributo __dict__ di un oggetto (il suo namespace) come dizionario. Utile per ispezionare gli oggetti.

>>> vars(my_object)

locals()

Restituisce un dizionario che rappresenta la tabella dei simboli locali corrente (variabili nello scope attuale).

>>> locals()

globals()

Restituisce un dizionario che rappresenta la tabella dei simboli globali corrente (variabili accessibili ovunque).

>>> globals()

Cronologia del codice e completamento con Tab

Il REPL accelera la scrittura con le seguenti funzioni di cronologia e completamento automatico:

  • Cronologia del codice: Puoi navigare tra i comandi inseriti in precedenza usando le frecce Su e Giù. Questo ti permette di rieseguire, modificare o correggere rapidamente righe passate.
  • Completamento con Tab: Aiuta a completare nomi di variabili, moduli e attributi di oggetti. Ad esempio, digitando impor e poi premendo Tab verrà completato in import, oppure digitando str.. seguito da Tab verranno elencati i metodi di stringa.

Scorciatoie da tastiera

Di seguito alcune scorciatoie comuni che rendono più efficiente la navigazione nel REPL.

Scorciatoia

Azione

Ctrl+C

Interrompe il comando in esecuzione, ad esempio un ciclo lungo, e solleva un'eccezione KeyboardInterrupt.

Ctrl+D (Unix)

Esce dal REPL (come quit() o exit())

Ctrl+Z + Invio (Win)

Esce dal REPL

Ctrl+L

Pulisce lo schermo (come il comando clear), mantenendo il prompt corrente in alto.

Freccia Su / Giù

Sfoglia la cronologia dei comandi

Ctrl+A

Sposta il cursore all'inizio della riga

Ctrl+E

Sposta il cursore alla fine della riga

Ctrl+K

Cancella dal cursore alla fine della riga

Ctrl+U

Cancella dal cursore all'inizio della riga

Personalizzare il REPL

Il REPL standard di Python può essere personalizzato per adattarsi al tuo modo di lavorare e alle tue preferenze.

File di avvio

Imposta la variabile d'ambiente PYTHONSTARTUP sul percorso di uno script Python che viene eseguito automaticamente all'avvio del REPL. Questo script può pre-importare moduli usati spesso, definire funzioni o cambiare le stringhe del prompt.

Per esempio, crea un file ~/.pystartup con il seguente contenuto:

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 usi Windows, puoi configurare l'ambiente con il seguente comando:

setx PYTHONSTARTUP "C:\path\to\pystartup.py"

Output ricco con rich

Puoi usare la libreria rich per migliorare e colorare l'output nel REPL. Devi prima installare il modulo rich tramite pip.

pip install rich

Poi abilita rich con import e usalo nelle tue sessioni REPL Python. Nell'esempio sotto ho usato la libreria per stampare parole in colori diversi.

Output ricco con la libreria rich nel REPL Python.

Esempi di comandi REPL da provare

Come vedi, la sessione REPL di Python è facile da usare. Prova i seguenti comandi per esercitarti

Comando

Scopo

Output/Descrizione

dir(str)

Introspezione: mostra tutti i metodi e gli attributi disponibili sul tipo incorporato str (stringa).

['__add__', ..., 'capitalize', 'center', 'count', 'find', ...]

help(list.append)

Documentazione: mostra la docstring del metodo append dell'oggetto lista, spiegandone il funzionamento.

Una descrizione dettagliata di cosa fa list.append e dei suoi parametri.

import math

Importare un modulo: carica la libreria standard math.

Nessun output (ma il modulo è ora disponibile).

math.pi

Calcolo: ottieni il valore di π.

3.141592653589793

math.sin(math.pi/2)

Calcolo: calcola sin(π/2).

1.0

import random random.choice(['A', 'B', 'C'])

Test rapido: seleziona un elemento casuale da una lista.

'A' (oppure 'B' o 'C')

while True: pass Ctrl+C

Gestione errori/Uscita: avvia un ciclo infinito, poi premi Ctrl+C per interromperlo e uscirne.

^C Traceback (most recent call last): File "<stdin>", line 1, in <module> KeyboardInterrupt

Limitazioni del REPL standard

Sebbene il REPL standard di Python sia ottimo per compiti rapidi, spesso risulta limitato rispetto a un IDE moderno. Noterai presto alcune funzionalità mancanti, tra cui:

  • Nessuna evidenziazione della sintassi: tutto il codice appare come testo semplice. Questo rende difficile distinguere rapidamente parole chiave, stringhe e commenti, costringendoti a leggere con attenzione.
  • Auto-indentazione minima: sebbene gestisca il prompt di continuazione (...), devi inserire manualmente l'indentazione corretta per le istruzioni composte, come i blocchi if e for.
  • Completamento del codice di base: il completamento con Tab integrato è funzionale ma non offre suggerimenti contestuali, documentazione inline o fuzzy matching come le shell avanzate.
  • Modifica multi-linea scarsa: modificare blocchi di codice complessi e multi-linea è scomodo.
  • Una volta inviato un blocco, non può essere facilmente modificato o richiamato dalla cronologia.

REPL alternativi

Per superare le limitazioni dell'interprete standard, diversi REPL ed ambienti basati sul modello interattivo di Python offrono funzionalità aggiuntive che migliorano produttività e apprendimento. Ti consiglio di provarne alcuni tra i seguenti per trovare quello più adatto alle tue esigenze.

  • IDLE: un semplice ambiente Python con interfaccia grafica fornito con Python stesso. Offre evidenziazione della sintassi, un editor integrato e un debugger, risultando user-friendly per chi inizia.
  • IPython: un REPL potente con completamento ricco, evidenziazione della sintassi, magic commands (comandi speciali che iniziano con %), cronologia estesa e facile accesso ai comandi di shell. Ampiamente usato in data science e calcolo scientifico.
  • bpython: REPL basato su terminale con evidenziazione della sintassi inline, auto-suggerimenti e accesso rapido alla documentazione. È leggero ma aggiunge molta usabilità rispetto al REPL predefinito.
  • ptpython: pensato per utenti esperti, è un REPL avanzato che offre vera modifica multi-linea, evidenziazione robusta della sintassi e persino supporto al mouse, dandoti maggiore controllo nel terminale.
  • REPL online: ambienti basati sul browser come la shell interattiva di Python.org e Python Morsels REPL sono perfetti per test rapidi, condividere codice o esercitarti in mobilità.

Conclusione

La sessione REPL di Python offre un ambiente veloce e interattivo per sperimentare con il codice, risultando preziosa per test, apprendimento ed esplorazione di idee. Padroneggiare le sue funzionalità integrate ti dà uno strumento potente per le attività quotidiane di programmazione. Per workflow più complessi o una migliore usabilità, provare REPL avanzati può migliorare ulteriormente l'esperienza di coding interattivo.

Per una comprensione approfondita di Python, puoi imparare di più nei nostri percorsi di competenze Fondamenti di dati in Python e Fondamenti di programmazione in Python. Anche il Python Cheat Sheet per principianti è utile quando vuoi dare un'occhiata veloce, ad esempio, a come dividere una lista in Python.


Allan Ouko's photo
Author
Allan Ouko
LinkedIn
Technical writer di Data Science con esperienza pratica in data analytics, business intelligence e data science. Scrivo contenuti pratici e orientati al settore su SQL, Python, Power BI, Databricks e data engineering, basati su lavoro di analytics reale. La mia scrittura unisce profondità tecnica e impatto sul business, aiutando i professionisti a trasformare i dati in decisioni sicure.

FAQ

Come avvio il REPL di Python?

Apri il terminale e digita python o python3, a seconda del sistema.

Come esco dal REPL?

Digita quit() o exit(), oppure usa Ctrl+D su Unix o Ctrl+Z + Invio su Windows.

Qual è la differenza tra REPL ed esecuzione di uno script?

Il REPL esegue il codice in modo interattivo riga per riga, mentre uno script esegue tutto il codice in un file in una volta sola.

Cos'è la variabile _ nel REPL?

_ contiene il risultato dell'ultima espressione valutata, così puoi riutilizzarlo rapidamente.

Cosa sono i prompt >>> e ...?

>>> è il prompt primario mentre ... è il prompt secondario per input multi-linea.

Argomenti
Python

Impara Python con DataCamp

Corso

Python - Livello Intermedio

4 ore
1.4M
Migliora le tue competenze nella scienza dei dati creando visualizzazioni con Matplotlib e manipolando DataFrames con pandas.
Vedi i dettagliRight Arrow
Inizia Il Corso
Mostra altroRight Arrow
Correlato

blog

Tokenizzazione nel NLP: come funziona, sfide e casi d'uso

Guida al preprocessing NLP nel machine learning. Copriamo spaCy, i transformer di Hugging Face e come funziona la tokenizzazione in casi d'uso reali.
Abid Ali Awan's photo

Abid Ali Awan

10 min

blog

I 15 migliori server MCP remoti che ogni AI builder dovrebbe conoscere nel 2026

Scopri i 15 migliori server MCP remoti che stanno trasformando lo sviluppo AI nel 2026. Scopri come migliorano automazione, ragionamento, sicurezza e velocità dei workflow.
Abid Ali Awan's photo

Abid Ali Awan

15 min

blog

Che cos'è Snowflake? Guida per principianti alla piattaforma dati cloud

Esplora le basi di Snowflake, la piattaforma dati cloud. Scopri la sua architettura, le sue funzionalità e come integrarla nelle tue pipeline di dati.
Tim Lu's photo

Tim Lu

12 min

Mostra AltroMostra Altro