Strings
O que são as strings e como o Python as utiliza
O que já vimos sobre as strings
Depois de conhecer a sintaxe básica, os principais tipos de dados e o funcionamento das variáveis, chegou a hora de entender melhor como lidar com textos no Python.
Já vimos que as strings são um dos tipos de dados mais comuns da linguagem e que são usadas para representar textos, ou seja, qualquer sequência de caracteres entre aspas simples (') ou duplas ("):
1print('Olá, mundo!') 2print("Olá, mundo!") 3 4# Saída: 5# Olá, mundo! 6# Olá, mundo!
Atribuindo strings a variáveis
Assim como acontece com outros tipos de dados, você sabe que podemos guardar uma string em uma variável:
1nome = "Diego" 2print(nome) 3 4# Saída: 5# Diego
Também é possível criar strings vazias, que são representadas por '' ou "", sem nada dentro das aspas. Um dos casos em que uma string vazia pode ser útil é quando você quer declarar uma variável de texto sem conteúdo ainda, e preenchê-la depois no seu programa.
Observe:
1nome_e_sobrenome = "" 2print(type(nome_e_sobrenome)) 3 4nome = input("Qual é seu nome?") # o usuário digita "Diego" 5sobrenome = input("Qual é seu sobrenome?") # o usuário digita "Pinho" 6 7nome_e_sobrenome = nome + " " + sobrenome 8 9print("Olá,", nome_e_sobrenome) 10 11# Saída: 12# <class 'str'> 13# Olá, Diego Pinho
Aspas dentro de aspas
Por último, já falamos sobre como usamos aspas dentro de uma string, o que pode ser útil, por exemplo, para incluir citações ou diálogos em sua string.
Podemos fazer o uso de aspas dentro de aspas alternando o tipo que usamos. Se as externas são aspas duplas ("), as internas devem ser aspas simples (') e vice-versa:
1print("Ele disse: 'Python é incrível!'") 2print('Ela respondeu: "Com certeza!"') 3 4# Saída: 5# Ele disse: 'Python é incrível!' 6# Ela respondeu: "Com certeza!"
Se você testou usar o mesmo tipo de aspas dentro e em volta da string, você viu que seu código não funcionou e recebeu uma mensagem de erro como essa:
1print("Ele disse: "Python é incrível!"") 2 3# Saída: 4# File "<python-input-0>", line 1 5# print("Ele disse: "Python é incrível!"") 6# ^^^^^^^^^^^^^^^^^^^ 7# SyntaxError: invalid syntax. Perhaps you forgot a comma?
Isso acontece porque para o Python, as aspas do mesmo tipo indicam onde uma string começa e termina. Ele entende que existe a string "Ele disse: ", um texto solto sem significado (Python é incrível!) e uma string vazia ("").
Como vimos nas lições "Primeiras impressões" e "Boas práticas com variáveis", o Python só entende o que uma palavra fora das aspas dentro do comando print() quer dizer se essa palavra for o nome de uma variável, o que não é o caso aqui.
Ele considera que Python é incrível! não é uma string por não estar dentro das aspas no exemplo acima, então ele não entende o que esse texto significa e retorna a mensagem de erro para você.
Strings em várias linhas
Quando precisamos armazenar um texto longo que ocupa várias linhas,basta usar um par de três aspas simples (''') ou duplas (""") em volta do seu texto. Dentro do par de três aspas, você pode pular linhas normalmente que o Python vai entender que seu texto continua na linha de baixo.
1mensagem = """Olá! 2Este é um texto 3em várias linhas.""" 4 5print(mensagem) 6 7# Saída: 8# Olá! 9# Este é um texto 10# em várias linhas.
Verificando se algo está dentro de uma string
Você pode verificar se uma palavra ou trecho aparece dentro de uma string usando o operador in.
1texto = "Python é divertido!" 2print("Python" in texto) 3print("Java" in texto) 4 5# Saída: 6# True 7# False
E o contrário com not in:
1texto = "Python é divertido!" 2print("C++" not in texto) 3 4# Saída: 5# True
As strings são essenciais para nos comunicarmos com o usuário dos nossos programas, seja através do interpretador no terminal, com as funções print() e input(), seja no futuro, quando criarmos aplicações mais complexas com outras funções e ferramentas.
Até aqui, você viu as bases fundamentais para continuar explorando tudo que dá pra fazer com textos no Python. Na próxima lição, você vai ir mais a fundo e aprender formas mais avançadas de trabalhar com eles.