Alguém sabe por que otpou-se por del como statement e não como um método dos objetos? A utilização do del como statement não remete a linguagem estruturada ?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Alguém sabe por que otpou-se por del como statement e não como um método dos objetos? A utilização do del como statement não remete a linguagem estruturada ?
Olá, Bruno. Tudo bem?
Como você pontuou, o del é um statement do Python, ou seja, ele não é um método do tipo dicionário. Os statements são comandos ou instruções que o interpretador do Python pode executar.
O del é utilizado para excluir todo tipo de objetos, e como no Python tudo é um objeto, ele pode ser usado para deletar variáveis, listas, dicionários, partes de listas ou de dicionários, etc.
O uso do del não remete necessariamente a programação estruturada, podendo ser usado em outros padrões de programação, como na orientação a objetos. Podemos pensar no del como sendo o inverso da atribuição feita pelo =. Assim enquanto usamos o = quando declaramos uma nova variável e queremos atribuir algum valor a ela, usamos o del quando queremos excluir uma variável e limpar o seu valor da memória.
Uma outra forma de remover elementos de um dicionário é por meio do método .pop(). Esse método exclui o elemento referente a chave que é passada como parâmetro e retorna o valor do elemento que foi removido. Um exemplo de como o método .pop() funciona pode ser visto a seguir:
dicionario = {
'chaveA' : 1,
'chaveB' : 2
}
elemento_removido = dicionario.pop('chaveB')
print("O elemento removido foi", elemento_removido)Saída do código: O elemento removido foi 2
As duas formas de remoção de elementos de um dicionário são bem comuns e a principal diferença entre elas é que geralmente:
.pop quando queremos guardar o valor do elemento removido. Como por exemplo: elemento = dicionario.pop('chaveA')del quando queremos somente excluir um elemento.É importante ressaltar que caso o elemento passado para o del não exista no dicionário, é retornado um erro.
Já com o método .pop() podemos definir um valor de retorno caso a chave não exista no dicionário, evitando assim um erro. A sintaxe dessa definição é a seguinte: dicionario.pop('chave', 'retorno caso a chave não exista').
Um exemplo disso pode ser visto a seguir:
dicionario = {
'chaveA' : 1,
'chaveB' : 2
}
print(dicionario.pop('chaveC', 'Elemento não encontrado'))Saída do código: Elemento não encontrado
Caso você queira se aprofundar no estudo sobre dicionários, deixo como recomendação a leitura de um artigo aqui da Alura sobre dicionários, que mostra os principais métodos dos dicionários em Python:
Espero ter ajudado. Qualquer outra dúvida estou a disposição.
Abraços. Bons estudos!
Muito obrigado pela resposta! Foi muito didática.