Python · Intermediário · Português · Técnico
método dunder
Método especial com nome entre dois sublinhados duplos, como __init__ ou __len__, que o Python chama sozinho para implementar construção, operadores e funções embutidas.
Onde usar
Define como seu objeto se comporta com len(), ==, + e print(). Num review, implementar os dunders certos deixa a classe com cara de tipo nativo.
Em código
class Fila:
def __init__(self):
self.itens = [1, 2]
def __len__(self):
return len(self.itens)
print(len(Fila()))Exemplos
Implementei o método dunder len para a coleção.
O print usa o método dunder str, então ajustei lá.
Cuidado
Não chame dunders direto, como obj.__len__(); use a função ou o operador (len(obj)), e não invente nomes novos com sublinhados duplos.
Sinônimos
método mágico, método especial
Origem
Abreviação do inglês double underscore, sublinhado duplo.