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 ?
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.