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.