-
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 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 X e ponto barra
meio ponto pai que é o meu arquivo,
-
a gente vai ver que os itens foram
exibidos, só que com os parênteses
-
indicando tanto 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
-
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 mesmo começa no zero 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 dois,
que é a terceira posição.
-
E se eu executar novamente aqui
o nosso código, a gente consegue ver.
-
Terça feira ali no terminal.
-
E talvez você ainda esteja se perguntando
o porquê exatamente 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.
-
É 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
-
dois 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 o porque que a gente tem
-
duas estruturas tão parecidas,
mas com uma mudança tão crucial.
-
É bem,
essa é a ideia das estruturas de repetição
-
ter várias possibilidades
e cada um com o seu propósito.
-
Você decide qual que é a mais coerente
com o seu caso de uso.