Até agora, declaramos strings com aspas simples ou duplas (’ ou "). Isso nos impede de declarar strings que abrangem múltiplas linhas, pois o Python espera ver uma aspa de fechamento no final da linha. Declarar strings de múltiplas linhas é possível através de 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 de múltiplas linhas tanto com aspas duplas " quanto com aspas simples '. Ambos os programas irão imprimir o mesmo resultado:
This long long text
can be split
into several lines.
Like this!
Strings de múltiplas linhas são especialmente úteis para mensagens longas, textos ou documentação. Desenvolvedores que desejam descrever seu código e o que ele faz podem usar comentários para observações breves de uma única linha, mas ao descrever o comportamento de um trecho de código, é mais comum ver programadores usando strings de múltiplas linhas. Discutiremos como escrever documentação e algumas boas práticas 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 ao mesmo tempo bastante extensos. Seria muito difícil lê-los na mesma linha. É por isso que lhe é pedido para manter o texto em uma única variável de múltiplas linhas. A tarefa é imprimir o texto no output, seguido de seu comprimento em uma nova linha:
Outra pergunta: Você pode 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. Há 589 caracteres, mas como o Python conta cada nova linha como um caractere, obtemos mais 13 caracteres. Portanto, o programa imprime 602.