Carregando...
Carregando...
Ajude a melhorar a plataforma
Considere o seguinte programa em Python:
classData:def__init__(self, dia, mes, ano): self.dia = dia self.mes = mes self.ano = ano def__eq__(self, other):return self.dia == other.dia and self.mes == other.mes and self.ano == other.ano
Assinale a alternativa correta:
Explique melhor esta questão
Abre o Tutor com o enunciado e as alternativas já no campo — você revisa e envia.
Esta questão foi verificada por um de nossos administradores.
Alternativa B - Dois objetos desta classe d1 e d2 poderão ser comparados por meio de: d1 == d2.
Python permite a "sobrecarga de operadores" através de métodos especiais, conhecidos como métodos mágicos ou dunder methods (double underscore).
O método __eq__(self, other) é o responsável por definir o comportamento do operador de igualdade (==). Quando implementamos esse método em uma classe, estamos instruindo o Python sobre como comparar dois objetos daquele tipo para verificar se eles são equivalentes.
__eq__ comparando dia, mês e ano.== entre instâncias de Data.<, >, <=, >=, seriam necessários outros métodos como __lt__, __gt__, __le__ e __ge__ respectivamente.Como apenas o método __eq__ foi sobrescrito, o único operador de comparação funcional para esses objetos (além da identidade) é o de igualdade.
Alternativa B.