Flashcard FC696554
Por que um parâmetro padrão mutável em Python retém alterações entre chamadas?
Linguagens de Programação para Ciência de Dados
QUADRIX · 2025
Por que um parâmetro padrão mutável em Python retém alterações entre chamadas?
Mostrar resposta e comentário
Resposta
A execução imprime ['X'] ['X', 'Y'] ['X', 'Y', 'Z'] porque o valor padrão [] é criado uma única vez na definição da função, sendo avaliado uma única vez e reutilizado em chamadas subsequentes, acumulando os elementos adicionados.Para obter uma lista nova a cada chamada use um sentinel, por exemplo: def adicionar_item(item, lista=None): if lista is None: lista=[].
Veja como foi cobrado:
https://flashcardsconcursos.com.br/portal/flashcard/688356
Conteúdo do catálogo FC Concursos · Atualizado em