Finora, abbiamo dichiarato stringhe usando apici singoli o doppi (' o "). Questo ci impedisce di dichiarare stringhe che si estendono su più linee, poiché Python si aspetta di vedere un apice di chiusura alla fine della riga. È possibile dichiarare stringhe multilinea utilizzando tre apici consecutivi:
text = '''This long long text
can be split
into several lines.
Like this!'''
print(text)
text = """This long long text
can be split
into several lines.
Like this!"""
print(text)
Possiamo avere stringhe multilinea sia con doppi apici " che con apici singoli '. Entrambi questi programmi stamperanno lo stesso output:
This long long text
can be split
into several lines.
Like this!
Le stringhe multilinea sono particolarmente utili per messaggi lunghi, testi o documentazione. Gli sviluppatori che vogliono descrivere il loro codice e cosa fa possono utilizzare commenti per piccole annotazioni su una singola linea, ma quando si descrive il comportamento di un blocco di codice, è più comune vedere i programmatori usare stringhe multilinea. Discuteremo la scrittura della documentazione e alcune best practice più avanti nel corso.
Sfida
To be, or not to be, that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles
And by opposing end them. To die—to sleep,
No more; and by a sleep to say we end
The heart-ache and the thousand natural shocks
That flesh is heir to: 'tis a consummation
Devoutly to be wish'd. To die, to sleep;
To sleep, perchance to dream—ay, there's the rub:
For in that sleep of death what dreams may come,
When we have shuffled off this mortal coil,
Must give us pause—there's the respect
That makes calamity of so long life.
I testi di William Shakespeare sono molto famosi e allo stesso tempo molto lunghi. Sarebbe molto difficile leggerli sulla stessa linea. Per questo motivo ti viene chiesto di mantenere il testo in una singola variabile multilinea. L'obiettivo è stampare il testo in output, seguito dalla sua lunghezza su una nuova linea:
Un'altra domanda: Puoi contare il numero effettivo di simboli nel testo, inclusi gli spazi? Quanti sono? Il programma stampa un numero diverso?
Risposta
Il programma stampa un numero maggiore rispetto al numero di caratteri nel testo. Ciò è dovuto al fatto che ogni carattere di nuova linea è considerato da Python come un carattere separato. Ci sono 589 caratteri, ma poiché Python conta ogni nuova linea come un carattere, otteniamo 13 caratteri in più. Pertanto, il programma stampa 602.