Até agora, declaramos strings com aspas simples ou duplas (' ou "). Isso nos impede de declarar strings que se estendem por várias linhas, pois o Python espera ver uma aspa de fechamento no final da linha. É possível declarar strings multilinha usando aspas triplas:
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)
Podemos ter strings multilinha tanto com aspas duplas " quanto com aspas simples '. Ambos os programas irão imprimir a mesma saída:
This long long text
can be split
into several lines.
Like this!
Strings multilinha são especialmente úteis para mensagens longas, textos ou documentação. Os desenvolvedores que desejam descrever seu código e o que ele faz podem usar comentários para pequenas observações de uma única linha, mas ao descrever o comportamento de um bloco de código, é mais comum ver programadores usando strings multilinha. Vamos discutir a escrita de documentação e algumas práticas recomendadas mais adiante no curso.
Desafio
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.
Os textos de William Shakespeare são muito famosos e também muito extensos. Seria muito difícil lê-los em uma única linha. Por isso, você é solicitado a manter o texto em uma única variável multilinha. A tarefa é imprimir o texto na saída, seguido de seu comprimento em uma nova linha:
Outra pergunta: Você consegue contar o número real de símbolos no texto, incluindo espaços? Quantos são? O programa está imprimindo um número diferente?
Resposta
O programa imprime um número maior comparado ao número de caracteres no texto. Isso ocorre porque cada caractere de nova linha é considerado um caractere separado pelo Python. Existem 589 caracteres, mas como o Python conta cada nova linha como um novo caractere, obtemos mais 13 caracteres. Portanto, o programa imprime 602.