Sobrecarregando o operador ==
Os operadores nativos do Python são muito práticos, especialmente para comparar instâncias de uma classe. Ao criar classes, você pode usar métodos mágicos para alterar a funcionalidade desses operadores. Aqui, você vai sobrecarregar o operador == para determinar se duas instâncias de Computer são iguais.
Este exercício faz parte do curso
Programação Orientada a Objetos Intermediária em Python
Instruções do exercício
- Defina um método mágico para sobrecarregar o operador
==. - Compare os atributos
device_iddeselfeotherdentro do método mágico para determinar se as duas instâncias são iguais. - Verifique se
pre_upgrade_computerepost_upgrade_computersão iguais e imprima o resultado.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
class Computer:
def __init__(self, device_id, storage):
self.device_id = device_id
self.storage = storage
# Overload the == operator using a magic method
def ____(self, other):
# Return a boolean based on the value of device_id
____ self.____ == other.____
pre_upgrade_computer = Computer("Y391Hky6", 256)
post_upgrade_computer = Computer("Y391Hky6", 1024)
# Create two instances of Computer, compare using ==
print(____ == ____)