Vai al contenuto principale

Python, print senza nuova riga: quello che devi sapere

Controlla l’output di print in Python per evitare nuove righe automatiche. Scopri come ignorare il comportamento predefinito del newline usando il parametro end, il modulo sys e la concatenazione di stringhe.
Aggiornato 29 set 2026  · 7 min leggi

Scopri con l'IA

ChatGPTClaudePerplexity

La funzione print() in Python è comunemente usata per mostrare l’output in console. Per impostazione predefinita, print() aggiunge un carattere di nuova riga alla fine dell’output, facendo sì che l’output successivo inizi su una nuova riga. 

Sebbene questo comportamento sia comodo in molti casi, è importante conoscere le situazioni in cui vuoi stampare senza aggiungere una nuova riga. In questo tutorial vedremo come usare il parametro end, il modulo sys e la concatenazione di stringhe per stampare senza aggiungere una nuova riga.

Prima di iniziare, ti consiglio il corso Introduction to Python di DataCamp per imparare le basi di Python per data science e analisi. Dai anche un’occhiata al nostro tutorial A Comprehensive Guide on How to Line Break in Python per imparare il comportamento opposto, cioè usare \n per inserire interruzioni di riga nelle stringhe e nelle istruzioni print().

Come stampare senza nuova riga in Python

Per stampare senza aggiungere una nuova riga in Python, puoi usare il parametro end nella funzione print(). Se imposti il parametro end a una stringa vuota, l’output continua sulla stessa riga.

# Print without newline
print("Hello", end=" ")
print("World", end=" ")
Hello World

Nota che qui usiamo due funzioni print(). Può sembrare insolito all’inizio, ma è una tecnica importante. Ogni chiamata a print() può controllare il proprio output tramite il parametro end. In questo esempio, impostare end=” “ aggiunge uno spazio dopo ogni stringa invece di una nuova riga, permettendo alla seconda istruzione print() di continuare sulla stessa riga.

Questo approccio è particolarmente utile quando devi stampare nel tempo più porzioni di testo o variabili, ma vuoi che compaiano tutte sulla stessa riga con una formattazione specifica (come spazi o punteggiatura tra gli elementi).

Perché stampare senza nuova riga in Python?

In Python, stampare senza una nuova riga significa controllare l’output in modo che non aggiunga il carattere di newline \n dopo ogni chiamata a print(). Capire come ignorare questo comportamento è importante per creare output controllati. Ecco alcuni esempi in cui può servire un output continuo.

  • Indicatori di progresso: aggiornamenti di avanzamento o barre di progresso richiedono output continui per il monitoraggio in tempo reale.
  • Logging: anche il logging e il monitoraggio richiedono stampe su righe continue per migliorarne la leggibilità.
  • Applicazioni console interattive: mostrare alcuni output utente sulla stessa riga migliora l’esperienza d’uso.

Se vuoi passare dal controllo dell’output in console a capire come aggiungere, gestire e rimuovere i caratteri di nuova riga in testi e file, vai al nostro tutorial Python New Line: Methods for Code Formatting per tecniche ed esempi.

Per assicurarti di stampare l’output senza aggiungere una nuova riga, puoi usare il parametro end o altri metodi per ignorare il comportamento predefinito della funzione print(). 

Usare il parametro end in Python 3

In Python 3, dovresti includere il parametro end in ogni chiamata a print() per stampare senza aggiungere una nuova riga. Se imposti il parametro end a una stringa vuota, l’output continua sulla stessa riga, come mostrato nell’esempio seguente.

Puoi anche impostare il parametro end su un carattere o una stringa diversi. L’esempio seguente mostra come modificare il parametro end in più chiamate a print() per controllare la formattazione dell’output.

# Print without newline
print("Hello ", end="World!")
print(" Learn DataCamp Python tutorial.")
Hello World! Learn DataCamp Python tutorial.

Il seguente esempio illustra l’uso del parametro end con una stringa vuota per stampare un aggiornamento di avanzamento senza nuova riga. In questo esempio, \r riporta il cursore all’inizio della riga, consentendo di aggiornare l’output in place.

 # Import the time module, which provides time-related functions like sleep()
import time
# Loop over a range of numbers from 1 to 5 (inclusive)
for i in range(1, 6):
    # Print a loading message with a percentage that updates on the same line
    print(f"\rLoading... {i*20}%", end="")
    # Pause the execution for 1 second to simulate a loading delay
    time.sleep(1)
print("\nDone!")
Loading... 20%
Loading... 40%
Loading... 60%
Loading... 80%
Loading... 100%
Done!

Eseguendo il codice qui sopra in un ambiente Python, noterai che la percentuale di caricamento si aggiorna ogni secondo sulla stessa riga, creando un semplice indicatore di progresso. Dai un’occhiata al nostro corso Writing Functions in Python se ti serve aiuto a scrivere funzioni, come in quell’esempio.

Esplorare il comportamento della nuova riga in Python 2

In Python 2, l’istruzione print è diversa e aggiunge una nuova riga per impostazione predefinita. Puoi aggiungere una virgola alla fine dell’istruzione print per stampare senza nuova riga.

# Print without newline
print "Hello",
print "World"
Hello World

Lo svantaggio di questo metodo è che viene aggiunto uno spazio extra tra gli elementi stampati, a differenza di Python 3, dove puoi controllare i caratteri da aggiungere all’output.

Altre tecniche Python per stampare senza nuova riga

Python offre alcuni metodi avanzati per stampare senza nuova riga. Questi metodi sono usati soprattutto per controllare l’output in stampe più complesse.

Combinare i parametri end e sep

I parametri end e sep possono essere usati insieme per formattazioni più complesse. In questi casi, il parametro sep controlla di solito come vengono separati più elementi quando passati alla funzione print(). L’esempio seguente separa le diverse stringhe con una virgola usando il parametro sep.

# Print without newline
print("Hello", "World", sep=", ", end="!")
Hello, World!

Combinare i parametri end e sep è utile in scenari come la formattazione di dati tabellari o la creazione di indicatori di progresso per migliorare l’esperienza d’uso tramite una migliore presentazione dei dati.

Usare il modulo sys

La funzione sys.stdout.write() del modulo sys permette di stampare senza aggiungere automaticamente una nuova riga. Questo metodo di stampa è utile quando serve un controllo preciso dell’output, ad esempio per progettare indicatori di progresso e mostrare log in tempo reale.

L’esempio seguente mostra come stampare senza nuova riga usando il modulo sys. Nota che abbiamo usato la funzione sys.stdout.flush() per svuotare manualmente il buffer di output e assicurare che il testo venga mostrato immediatamente. Questo approccio è importante per cicli e applicazioni in tempo reale.

# Import the sys module
import sys
# Print without new line
sys.stdout.write("Hello, ")
sys.stdout.write("World!")
sys.stdout.flush()
Hello, World!

Concatenazione di stringhe come approccio alternativo

Anche la concatenazione di stringhe può essere usata per unire più output prima di stamparli, evitando la necessità di più istruzioni print() e assicurando che non venga aggiunta alcuna nuova riga tra gli output. L’esempio seguente mostra questo metodo di concatenazione di stringhe per stampare l’output in un’unica istruzione.

# Print without new line using string concatenation
output = "Hello" + " " + "World." + " Learn Python."
print(output)
Hello World. Learn Python.

Conclusione

Stampare senza una nuova riga è utile per mostrare l’output in un’unica riga continua. A seconda della versione di Python, sono disponibili diversi metodi per stampare senza aggiungere una nuova riga.

Se vuoi migliorare le tue skill in Python, ti consiglio il corso Python Toolbox di DataCamp, che insegna iteratori e cicli, tematiche accennate in questo articolo. I nostri percorsi di carriera Python Developer e Data Analyst with Python ti aiuteranno a rimanere aggiornato mentre sviluppi competenze pratiche e spendibili come data scientist o analyst.


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.

Domande frequenti su Python

Come posso stampare senza una nuova riga in Python?

Puoi includere il parametro end con una stringa vuota nella funzione print() per stampare senza aggiungere una nuova riga.

Qual è il comportamento predefinito della funzione print()?

Per impostazione predefinita, la funzione print() aggiunge una nuova riga dopo ogni output.

Il metodo per stampare senza nuova riga in Python è supportato in Python 2 e 3?

In Python 3, puoi usare il parametro end nella funzione print() per stampare senza nuova riga. In Python 2, devi aggiungere una virgola dopo l’istruzione print per stampare senza nuova riga.

Perché ottengo uno spazio extra nell’output dopo aver usato la virgola come separatore in Python 2?

In Python 2, viene aggiunto per impostazione predefinita uno spazio extra tra gli elementi stampati dopo aver usato la virgola per stampare senza nuova riga. Ti consiglio di usare altri metodi alternativi per controllare i caratteri aggiunti all’output.

Stampare senza una nuova riga influisce sulle prestazioni?

Stampare senza nuova riga ha un impatto minimo sulle prestazioni. Puoi usare sys.stdout.write() dal modulo sys per prestazioni migliori quando gestisci grandi quantità di dati.

Argomenti
Python
Analisi dei dati

Impara Python con DataCamp

Corso

Strumenti per Python

4 ore
323.7K
Continua a migliorare le tue competenze nella scienza dei dati imparando a usare gli iteratori e le comprensioni di lista.
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