ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Defina um método mágico para sobrecarregar o operador ==.
  • Compare os atributos device_id de self e other dentro do método mágico para determinar se as duas instâncias são iguais.
  • Verifique se pre_upgrade_computer e post_upgrade_computer sã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(____ == ____)
Editar e executar o código