-
Continuando a exploração desse
mundo de estruturas de dados,
-
a gente vai conhecer,
agora, as tuplas,
-
uma estrutura bem semelhante
às listas, mas que são imutáveis.
-
E a gente vai entender
o que isso significa.
-
As tuplas são estruturas de dados
bem parecidas com as listas,
-
mas com algumas diferenças
que são bem importantes.
-
Quando a gente
tem uma lista,
-
a gente consegue
acessar os valores,
-
excluir itens e adicionar
itens novos.
-
Com a tupla, a gente também
consegue acessar os valores,
-
mas não consegue nem
adicionar e nem excluir itens,
-
isso porque elas
são imutáveis.
-
E o que isso significa?
-
Significa, basicamente,
que, a partir do momento
-
em que a gente tiver instanciado
ou criado uma tupla,
-
a gente não pode alterar aqueles
valores, apenas acessá-los.
-
E eu sei que isso pode parecer
um pouco estranho no começo.
-
Para que eu vou querer uma variável
que eu não consigo manipular?
-
E é esse mesmo propósito.
-
Existem estruturas que a gente
vai querer representar
-
e que a gente não vai querer
dar a possibilidade de mudar.
-
Imagina, por exemplo,
uma lista de pessoas.
-
Em uma lista de pessoas
faz sentido
-
que eu consiga adicionar
alguém ou remover alguém.
-
Em uma sala de aula, por exemplo,
alunos entram e alunos saem,
-
isso faz sentido.
-
Mas quando a gente
olha para o calendário
-
e vê os dias da semana,
-
não faz muito sentido uma semana
ter uma quarta-feira e a outra não.
-
Nesses cenários, a tupla
é a estrutura ideal
-
para representar isso
dentro do Python.
-
Então vamos lá,
-
agora que você entendeu
a diferença crucial entre as duas,
-
vamos lá para o VS Code
criar exatamente essa tupla
-
e ver como ela se comporta.
-
Aqui dentro do VS Code, eu já
tenho o meu arquivo main.py,
-
então vamos começar
criando a nossa tupla.
-
E eu vou criar exatamente aquele
nosso exemplo dos dias da semana.
-
Então, eu vou começar criando
aqui "dias_da_semana"
-
e, dessa vez, a gente não
vai usar os colchetes,
-
porque essa é
a sintaxe, ou seja,
-
a forma com que a gente
escreve as listas.
-
Se a gente quiser criar uma tupla,
a gente vai usar os parênteses.
-
Pronto, eu acabei
de criar uma tupla vazia.
-
Então, aqui dentro, eu vou começar
a colocar os dias da semana,
-
começando pelo domingo.
-
Eu vou apenas expandir,
aqui, o espaço
-
para que a gente
consiga escrever melhor
-
e você consiga ver certinho
cada dia da semana.
-
Então, eu vou começar,
"Domingo"
-
e eu vou duplicar essa linha
aqui apenas uma vez,
-
e eu vou escrever
"Segunda-feira"
-
e, agora sim, eu vou duplicar
ela algumas vezes
-
para que a gente consiga
escrever "Terça",
-
"Quarta",
-
"Quinta",
-
"Sexta-feira"
e, por último,
-
"Sábado".
-
Pronto, com a tupla criada, a gente
consegue usar a função print
-
para a gente poder ver
os itens dela no terminal.
-
É bem similar com a lista,
então vamos lá.
-
Aqui, eu vou escrever "print"
e colocar "dias_da_semana".
-
Se eu vier no terminal agora
e executar o "python.exe .\main.py",
-
que é o meu arquivo, a gente vai
ver que os itens foram exibidos,
-
só que com os parênteses,
-
indicando para a gente
que está vendo no terminal
-
que isso aqui é
uma tupla e não a lista.
-
Ou seja, saber que é uma tupla
faz com que a gente identifique
-
que a gente está vendo um item
que não pode ser alterado.
-
Mas, caso a gente queira,
a gente consegue vir aqui
-
e colocar, dentro dos colchetes,
alguma posição.
-
A regra é a mesma, começa no 0
e termina na última posição do item.
-
Então, se a gente quiser pegar,
por exemplo, Terça-feira,
-
a gente vai acessar o índice 2,
que é a terceira posição.
-
E se eu executar novamente
o nosso código,
-
a gente consegue ver
"Terça-feira" ali no terminal.
-
E talvez você ainda
esteja se perguntando
-
o porquê, exatamente,
de usar as tuplas,
-
já que as listas fazem
a mesma coisa.
-
E você não está errado,
as listas, de fato, suportam,
-
basicamente, tudo o que uma tupla
suporta e um pouco além, ou seja,
-
elas permitem que você
edite os itens.
-
Por que não simplesmente
usar uma lista
-
e não modificá-las
dentro do nosso código?
-
Bem, aí que está o ponto,
-
não necessariamente você
vai fazer isso de propósito.
-
Imagina que você
implementou um código
-
que faz um determinado
comportamento
-
e que uma outra pessoa precise
usar esse código no futuro.
-
Esse é, basicamente, o conceito
de biblioteca ou pacote,
-
você escreve um código
para fazer alguma coisa
-
e uma outra pessoa reaproveita
aquilo que você implementou.
-
Conforme a complexidade
do que você implementou aumenta,
-
fica muito simples você acabar
executando algo sem querer,
-
tentando modificar uma lista
que não deveria ser modificada,
-
e é por esse motivo
que existem as tuplas.
-
Ter um tipo específico
-
que faz com que a linguagem
peça esse tipo de ação
-
é bem melhor do que apenas
colocar um comentário no código
-
ou mesmo confiar que as pessoas
vão entender, automaticamente,
-
o que aquele seu
código significa.
-
Se a gente, mesmo assim, tentar
acessar o índice de uma dupla
-
e modificar o seu valor,
-
o Python vai impedir isso
em tempo de execução.
-
Veja só.
-
Aqui no nosso código, eu
vou basicamente fazer isso,
-
antes de exibir a mensagem,
eu vou vir aqui
-
e vou acessar a posição 2
da nossa tupla
-
e vou tentar colocar algum
valor, por exemplo, "Hoje".
-
Reparem que, na hora
que eu executar,
-
o Python vai retornar um erro,
informando, justamente,
-
que aquele objeto
é do tipo tupla
-
e que ele não suporta
a atribuição de valores
-
uma vez que ele
já foi definido.
-
Acho que agora ficou um pouco
mais fácil de entender
-
por que a gente tem duas
estruturas tão parecidas,
-
mas com uma mudança
tão crucial.
-
E, bem, essa é a ideia
das estruturas de repetição,
-
ter várias possibilidades e cada
uma com o seu propósito.
-
Você decide qual é a mais
coerente com o seu caso de uso.