Com base nas linguagens de programação Python, julgue o próx...
Com base nas linguagens de programação Python, julgue o próximo item.
Considere o seguinte código em Python: tupla = ('a', ['b', 'c', 'd']) tupla[1].append('e')
O código acima resultará em erro, pois tuplas são imutáveis e não permitem adição de elementos.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: E (Errado)
Tema central: A questão explora o conceito de imutabilidade de tuplas em Python, um ponto fundamental para quem programa nessa linguagem e frequente em provas de concursos.
Resumo teórico: Em Python, tuplas são estruturas de dados imutáveis. Isso significa que, após sua criação, não é possível adicionar, remover ou alterar diretamente os elementos armazenados na tupla. Porém, se a tupla contém elementos mutáveis (como listas), os objetos internos podem ser modificados. (Fonte: Documentação Oficial do Python)
Justificativa da alternativa correta:
No código apresentado, temos uma tupla com dois elementos: um caractere e uma lista. Quando executamos tupla[1].append('e'), não estamos tentando modificar a tupla em si, mas sim alterar a lista que está dentro dela. Como listas são mutáveis, essa operação é válida e não gera erro. Assim, a afirmação de que o código "resultará em erro" está incorreta.
Análise da alternativa errada:
A alternativa "Certo" sugeriria que a imutabilidade da tupla proíbe qualquer modificação nos objetos dentro dela, mas isso não é verdade para objetos mutáveis, como listas. O erro comum aqui é confundir a impossibilidade de modificar a estrutura da tupla com a impossibilidade de modificar elementos mutáveis contidos nela.
Estratégias para interpretação:
- Leia atentamente o enunciado e destaque termos como "imutável" e "adicionar elementos".
- Lembre-se que tuplas protegem apenas sua estrutura, não o estado dos objetos que guardam.
- Desconfie de afirmações categóricas sobre erro sem analisar o tipo de dado envolvido.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
tupla = ('a', ['b', 'c', 'd'])
tupla[1].append('e')
print(tupla)
# Saída: ('a', ['b', 'c', 'd', 'e'])
- Tupla é composta por dois elementos: uma string "a" e uma lista ['b', 'c', 'd'].
- o comando tupla.append('e') não altera a estrutura da tupla, mas sim o conteúdo da lista interna, que é mutável. Após a execução, a tupla passa a ser # Saída: ('a', ['b', 'c', 'd', 'e'].
- Não ocorre erro nesse caso, pois não estamos tentando modificar a estrutura da tupla, mas sim o conteúdo de um objeto mutável que ela referencia.
E
Tupla
- É uma coleção ordenada e imutável de elementos.
- Representada por parênteses: tupla = (1, 2, 3)
- Não pode ser alterada depois de criada — exceto se contiver elementos mutáveis (como uma lista dentro dela).
Lista
- É uma coleção ordenada e mutável.
- Representada por colchetes: lista = [1, 2, 3]
- Permite modificar, adicionar ou remover elementos facilmente.
Dicionário
- É uma coleção não ordenada de pares chave:valor.
- Representado por chaves: dicionario = {'nome': 'Hugo', 'idade': 28}
- Permite acesso direto a valores por meio da chave: dicionario['nome'] → 'Hugo'
- Mutável: valores podem ser adicionados, alterados ou removidos.
Errado!
Em Python, tuplas são imutáveis, ou seja, não permitem que se altere diretamente seus elementos (como tupla[0] = 'x').
No entanto, se uma tupla contém objetos mutáveis (como listas), esses objetos podem ser modificados sem alterar a tupla em si.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo