始める無料で始める

== のオーバーロード

オーバーロードを使うと、マジックメソッドによって組み込み演算子の機能をカスタマイズできます。ここでは、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(____ ____ ____)
コードを編集して実行