Noções básicas de string em Python
Embora as strings em Python pareçam ser simples e diretas, há alguma complexidade nas regras de string que é importante entender. Conhecer as regras ajuda a evitar ser surpreendido pelo comportamento da cadeia de caracteres quando você está modificando valores ou formatando texto.
Uma cadeia de caracteres simples
No nosso exemplo para esta unidade, você tem um único fato sobre a Lua que é atribuído a uma variável, como este:
fact = "The Moon has no atmosphere."
print(fact)
A saída mostra que o texto foi atribuído à variável: The Moon has no atmosphere.
Imutabilidade das cordas
Em Python, strings são imutáveis. Ou seja, não podem mudar. Essa propriedade do tipo string pode ser surpreendente, porque o Python não fornece erros quando você altera strings.
Você precisa adicionar outro fato (frase) ao único fato atribuído a uma variável. Parece que acrescentar o segundo fato alteraria a variável, como no exemplo a seguir:
fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."
Você pode esperar que a saída seja: The Moon has no atmosphere.No sound can be heard on the Moon.
Embora possa parecer que modificamos a variável fact
, uma verificação rápida do valor revela que o valor original está inalterado:
fact = "The Moon has no atmosphere."
fact + "No sound can be heard on the Moon."
print(fact)
Saída: The Moon has no atmosphere.
O truque é que você deve usar um valor de retorno. Quando você adiciona strings, o Python não modifica nenhuma string, mas retorna uma nova string como resultado. Para manter esse novo resultado, atribua-o a uma nova variável:
fact = "The Moon has no atmosphere."
two_facts = fact + "No sound can be heard on the Moon."
print(two_facts)
Saída: The Moon has no atmosphere.No sound can be heard on the Moon.
As operações em cadeias de caracteres sempre produzem novas cadeias de caracteres como resultado.
Sobre o uso de aspas
Você pode colocar strings Python entre aspas simples, duplas ou triplas. Embora você possa usá-los de forma intercambiável, é melhor usar um tipo consistentemente dentro de um projeto. Por exemplo, a cadeia de caracteres a seguir usa aspas duplas:
moon_radius = "The Moon has a radius of 1,080 miles."
No entanto, quando uma cadeia de caracteres contém palavras, números ou caracteres especiais (uma substring) que também estão entre aspas, você deve usar um estilo diferente. Por exemplo, se uma substring usa aspas duplas, coloque toda a cadeia de caracteres entre aspas simples, conforme mostrado aqui:
'The "near side" is the part of the Moon that faces the Earth.'
Da mesma forma, se houver aspas simples (ou um apóstrofo, como no exemplo de Moon no exemplo a seguir) em qualquer lugar dentro da cadeia de caracteres, coloque toda a cadeia entre aspas duplas:
"We only see about 60% of the Moon's surface."
A falha ao alternar aspas simples e duplas pode fazer com que o interpretador Python gere um erro de sintaxe, conforme mostrado aqui:
'We only see about 60% of the Moon's surface.'
File "<stdin>", line 1
'We only see about 60% of the Moon's surface.'
^
SyntaxError: invalid syntax
Quando o texto tem uma combinação de aspas simples e duplas, você pode usar aspas triplas para evitar problemas com o intérprete:
"""We only see about 60% of the Moon's surface, this is known as the "near side"."""
Texto multilinha
Existem algumas maneiras diferentes de definir várias linhas de texto como uma única variável. As formas mais comuns são:
- Use um caractere de nova linha (
\n
). - Use aspas triplas (""").
Caracteres de nova linha separam o texto em várias linhas quando você imprime a saída:
multiline = "Facts about the Moon:\n There is no atmosphere.\n There is no sound."
print(multiline)
Facts about the Moon:
There is no atmosphere.
There is no sound.
Você pode obter o mesmo resultado usando aspas triplas:
multiline = """Facts about the Moon:
There is no atmosphere.
There is no sound."""
print(multiline)