== operatörünü aşırı yükleme
Python’ın yerleşik operatörleri kullanışlıdır; özellikle bir sınıfın örneklerini karşılaştırırken. Sınıflar oluştururken, bu operatörlerin davranışını değiştirmek için sihirli yöntemler kullanılabilir. Burada, iki Computer örneğinin eşit olup olmadığını belirlemek için == operatörünü aşırı yükleyeceksin.
Bu egzersiz
Python'da Orta Düzey Nesne Yönelimli Programlama
kursunun bir parçasıdırEgzersiz talimatları
==operatörünü aşırı yükleyecek bir sihirli yöntem tanımla.- İki örneğin eşit olup olmadığını belirlemek için sihirli yöntemde
selfveotherındevice_idözniteliklerini karşılaştır. pre_upgrade_computervepost_upgrade_computereşit mi diye kontrol et ve sonucu yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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(____ == ____)