Magic Method
Descrição
Exemplo
__init__
Método de inicialização da classe.
def __init__(self, nome): self.nome = nome
__str__
Retorna uma representação em string do objeto.
def __str__(self): return f'Objeto {self.nome}'
__repr__
Retorna uma representação em string que deve ser "evaluable".
def __repr__(self): return f'Objeto({self.nome})'
__len__
Retorna o tamanho do objeto.
def __len__(self): return len(self.nome)
__getitem__
Permite acessar elementos do objeto usando índices.
def __getitem__(self, index): return self.nome[index]
__setitem__
Permite definir elementos do objeto usando índices.
def __setitem__(self, index, valor): self.nome[index] = valor
__delitem__
Permite excluir elementos do objeto usando índices.
def __delitem__(self, index): del self.nome[index]
__add__
Define o comportamento da adição com o operador +.
def __add__(self, outro): return self.nome + outro.nome
__sub__
Define o comportamento da subtração com o operador -.
def __sub__(self, outro): return self.valor - outro.valor
__eq__
Define o comportamento da igualdade com o operador ==.
def __eq__(self, outro): return self.nome == outro.nome
__ne__
Define o comportamento da desigualdade com o operador !=.
def __ne__(self, outro): return self.nome != outro.nome
__lt__
Define o comportamento da comparação "menor que" com <.
def __lt__(self, outro): return self.valor < outro.valor
__le__
Define o comportamento da comparação "menor ou igual" com <=.
def __le__(self, outro): return self.valor <= outro.valor
__gt__
Define o comportamento da comparação "maior que" com >.
def __gt__(self, outro): return self.valor > outro.valor
__ge__
Define o comportamento da comparação "maior ou igual" com >=.
def __ge__(self, outro): return self.valor >= outro.valor
__call__
Permite que um objeto seja chamado como uma função.
def __call__(self, arg): return f'Recebi o argumento {arg}'
__enter__ e __exit__
Define o comportamento de um objeto em um bloco with.
def __enter__(self): ...<br>def __exit__(self, exc_type, exc_value, traceback): ...
def __len__(self): deve retornar o tamanho do atributo url
def __str__(self): deve retornar uma string contendo a URL completa, a base da url e os parâmetros.
def __eq__(self, other): deve retornar True caso a url das instâncias comparadas seja igual.