Python print senza andare a capo

di Lorenzo Neri
64 visualizzazioni

In Python si può usare la print senza andare a capo? La risposta è sì: seguimi in questo articolo e scoprirai come!

Se stai leggendo queste righe, è perché ti sarai accorto pure te che, ogni volta che usi la funzione “print” in Python viene stampato tutto quello che vuoi sul tuo schermo, ma ad ogni invocazione andrai a capo.

Ciao mi chiamo Lorenzo Neri e sono un edu-imprenditore: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!

Per essere più “tecnichesi”, la funzione “print” in Python ha il newline incorportato.

Faccio un esempio diretto:

print("Io stampo una riga")
print("mentre io vorrei essere il seguito, ma mi troverai sulla linea a seguito")
print("e anche io vado a capo come terza riga")

Il risultato che otterrai è questo:

Io stampo una riga
mentre io vorrei essere il seguito, ma mi troverai sulla linea a seguito
e anche io vado a capo come terza riga

Ma ovviamente c’è la soluzione: vediamo allora come evitare di andare a capo, dando vita ad una nuova linea.

Print senza andare a capo con Python3

In Python3 le cose sono davvero semplici: abbiamo una strada rapida da percorrere seguendo la documentazione ufficiale.

Si tratta del parametro “end”.

Questo parametro, usato come secondo della funzione “print” (anche perchè come ben sai, il primo è ciò che vuoi stampare a video), fa una cosa molto molto semplice: specifica come deve finire la riga stessa.

Di default infatti, è impostato come “newline”.

Come evitare allora di andare a capo?

Lascia che ti faccia un esempio:

print("Sono la prima riga", end="")
print("e io il pezzo a seguito che non andrà a capo")

Come vedi, ho impostato il parametro “end” come stringa vuota.

Quindi, l’output dato da queste due righe di Python, indovina un po’?

Sono la prima rigae io il pezzo a seguito che non andrà a capo

Così facendo, abbiamo capito come agire in Python versione 3, andiamo oltre.

Evitare i newline in Python 2.7 e precedenti

Devo scriverlo per completezza: magari non usi Python3.

Per evitare i ritorni a capo in questa versione di Python, dobbiamo usare il modulo “__future__”.

E come procedere poi? Devi fare la seguente importazione nel tuo script:

from __future__ import print_function

E poi?

E poi, si tratta di usare lo stesso identico parametro che abbiamo visto per Python versione 3.

Nessuna magia aggiuntiva: dovrai semplicemente aggiungere il parametro “end” alla funzione “print”, così facendo non avrai alcun intoppo nell’usarla senza andare a capo, sia con Python3 sia con Python 2.6 e 2.7 per essere precisi.

Continua a scoprire di più con questi articoli!

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più