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 informatico: 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.