== のオーバーロード
オーバーロードを使うと、マジックメソッドによって組み込み演算子の機能をカスタマイズできます。ここでは、Computer クラスについて、各デバイスのシリアル番号を使って == 比較演算子をオーバーロードします。さっそく取り組んでみましょう!
この演習はコースの一部です
Python 中級オブジェクト指向プログラミング
演習の手順
- 2つのオブジェクトを比較する
==演算子をオーバーロードするマジックメソッドを定義します。 serial_number属性を使って、Computer クラスの2つのオブジェクトが等しいかを判定します。- 同じ
serial_numberを持つComputer型のオブジェクトを2つ作成し、それらが等しいことを確認します。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
class Computer:
def __init__(self, serial_number):
self.serial_number = serial_number
# Overload the == operator using a magic method
def ____(self, ____):
# Define equality using serial_number
____ self.____ == other.____
# Validate two Computers with the same serial_number are equal
first_computer = Computer("81023762")
second_computer = ____("81023762")
print(____ ____ ____)