Teoria
Usando textos em Python
Em Python, tudo que a gente colocar entre aspas é considerado texto. No entanto, o nome verdadeiro dos dados de tipo texto é string. E esse tipo tem várias características importantes que a gente tem que dominar pra mandar bem na prova, beleza? Vamos Falar sobre algumas delas aqui.
Primeiro, vamos fazer uma variável do tipo string pra gente ficar testando as paradas que a gente vai aprender agora:
É assim que a gente faz pra criar uma variável do tipo string, usando aspas. Mas é legal você saber que não precisa ser aspas duplas (“). Também pode ser feito com a simples (‘). Olha:
Também funciona, beleza? Você só precisa tomar cuidado na hora de fechar as aspas, porque você tem que fechar com o mesmo tipo de aspas que você abriu. Olha esse exemplo:
Se você tentar executar esse programa, vai ver que vai dar erro. Isso é porque a gente fechou a string com aspas duplas (“), apesar de ter começado a string com uma aspa simples (‘). Isso é um problemão, beleza?
Usando caracteres especiais nas strings
Mas, calma aí… Nem todos os caracteres a gente consegue escrever! Como a gente pode salvar uma quebra de linha dentro da string?!
Obs: quebra de linha é pular linha.
Pra solucionar esse problema, a gente usa a notação de caracteres especiais. Essa notação sempre começa com contra barra (\). Olha o exemplo:
Tá vendo aquele “\n” dentro da nossa string?! Ele tá dizendo que a gente quer pular uma linha naquele ponto do texto (essa barra ao contrário fica do lado esquerdo da letra Z no teclado, confere aí).
Olha o resultado desse código:
Repara que a gente pulou linha ali no meio da string, justamente onde a gente escreveu \n na string, viu?
Usamos essa barrinha ao contrário (contra-barra) pra expressar dentro da string todos os caracteres que não dá pra digitar normalmente. O primeiro que a gente aprendeu foi esse \n (n de new line), mas tem outros.
Por exemplo, se a gente usa aspas pra iniciar e finalizar a string, como a gente poderia escrever uma aspa dentro da nossa string?
A resposta é a gente usar a contra barra também! Se liga em como dá pra fazer:
Olha, quando a gente escrever \’ na string, ele não fecha a string. Aí a gente consegue salvar a aspa dentro da string.
Esse truque também serve pra aspa dupla, usando \”. Além desse, você também pode querer escrever o próprio caractere \ na sua string, por algum motivo. Tipo assim:
Se a gente colocar só essa barra na string, vai dar um erro. Pra conseguir salvar essa barrinha na string, precisamos usar duas barrinhas dessa! Assim, ó:
Agora sim! Usamos duas \\ pra salvar uma \ na string.
String de várias linhas
Ok, mas caso você tenha uma string de várias linhas, tipo um poema ou sei lá, a gente teria que usar um montão de \n, porque a gente não pode pular linha na string. Por que será que ninguém inventou uma forma mais fácil???!
Na verdade, inventaram! Pra gente fazer uma string com várias linhas, a gente abre e fecha ela com três aspas simples (‘’’) ou três aspas duplas (“””). Olha esse exemplo aqui:
Olha, que maravilha. Agora vai funcionar sem a gente ter que escrever manualmente um monte de ‘\n’!
Olha lá, conseguimos fazer uma string com várias linhas!
Operações com strings
Mas e se a gente tiver duas strings e quiser unir elas?!
Tenho que te falar que essa é a coisa mais útil de strings, e é chamado de concatenação. Concatenar significa unir duas strings, e a gente faz isso usando o operador de soma (+). Olha:
Repara que a gente concatenou (vulgo “uniu”) a string da variavel_doida_1 com uma string literal “\n” (literal é quando não tá em nenhuma variável) e depois uniu com a string guardada na outra variável.
Além do operador de soma, também é possível usar o operador de multiplicação. Olha:
O resultado disso é:
Repara que o resultado foi triplicar o texto. Mas esses são os únicos operadores que funcionam com string, beleza? Se você tentar usar subtração (-) ou divisão (/) com string, vai dar erro, ok?
Além desses matemáticos, a gente também pode usar o operador in. Esse operar checa se existe uma letra ou substring dentro de uma string. Se existe, retorna True. Se não existir, retorna False.
Mas a gente precisa tomar cuidado com esse operador, pois ele não é comutativo. Isso significa que (x in y) é diferente de (y in x), beleza?! O macete pra usar esse operador você tem que pensar na tradução: “existe x dentro de y?”
Por último, também pode ser útil a gente saber o tamanho de uma determinada string. E essa é exatamente a utilidade da função len(). Olha ela em ação:
AGORA BORA FAZER EXERCÍCIOOOOOO!