P.5 Esperimenti di stampa

Proseguiamo con i nostri esperimenti di stampa. La funzione print() può essere utilizzata in numerosi modi e prevedere vari parametri che ora esploreremo con alcune linee di codice.

Per Python una stringa è una porzione di testo delimitata da due virgolette. Queste possono essere singole o doppie. Possiamo utilizzare:

print(‘ciao’)

o indifferentemente,

print(“ciao”)

Quando usare un tipo di punteggiatura o l’altra dipende dalle vostre preferenze o da quello che vorrete stampare. Se all’interno di un testo fosse necessario inserire delle virgolette, potremo usare le virgolette singole per delimitare la stringa e quelle doppie all’interno (o viceversa):

print('mela "pera" banana')

oppure:

print("mela 'pera' banana")

Se fossimo costretti ad utilizzare lo stesso tipo di virgolette che delimitano anche la stringa in cui sono contenute possiamo utilizzare il carattere di “escape” (\). Immaginiamo di voler scrivere alcuni nomi di frutta e che uno di questi debba essere racchiuso da delle virgolette doppie. Questo codice produrrà un errore:

print("mela "pera" banana")

L’interprete Python non riesce a distinguere il diverso utilizzo delle virgolette doppie. Per poterle utilizzare all’interno di una stringa dobbiamo dire al l’interprete di ignorarle, anteponendo una barra inclinata “\” (escape):

print("mela \"pera\" banana")

Fornendo una sequenza di stringhe separate da virgola a print(), saranno stampate tutte una dopo l’altra:

print("mela", "2", "pera", 5)

L’ultimo elemento, come avrete notato, non è una stringa, ma un numero, infatti possiamo stampare direttamente anche questo tipo di dati, anzi possiamo anche svolgere delle operazioni e stampare il risultato:

print("somma di 2 numeri", 10+2)

Oppure in modo più completo ed ordinato:

print("somma di", 10, " + ", 2, "=", 10+2)

Ecco un nuovo listato da provare:

print('ciao2')
print('mela "pera" banana')
print("mela 'pera' banana")
print("l'onda")
print("mela \"pera\" banana")
#questa è una nota
print("mela", "2", "pera", 5)
print("somma di 2 numeri", 10+2)
print("somma di", 10, " + ", 2, "=", 10+2)

Nella console osserveremo il seguente risultato:

ciao2
mela "pera" banana
mela ‘pera’ banana
l'onda
mela "pera" banana
mela 2 pera 5
somma di 2 numeri 12
somma di 10  +  2 = 12

Per non andare a capo

Non è possibile utilizzare una print() senza evitare di andare a capo. Questa cosa a volte può essere un po’ fastidiosa, soprattutto se si proviene da altri linguaggi che solitamente prevedono funzioni tipo print() e println() con cui scegliere se andare a capo oppure no dopo aver scritto qualcosa sullo schermo. In Python possiamo stampare delle informazioni una di seguito all’altra aggiungendo il parametro end alla print(). Ecco un esempio:

print("il valore è: ", end="")
print(100)

Eseguendo il codice otterremo:

il valore è: 100

Cose da provare

  • Cosa accade se al parametro end, al posto di una stringa vuota inseriamo un carattere a piacere? es. end=“*”…
  • print() prevede anche il parametro sep, con cui specificare il carattere da usare come separatore nel caso si vogliano stampare più elementi. Provate ad eseguire: print(1, 2, 3, sep=’|’)