Bắt đầu ngayBắt đầu miễn phí

Nạp chồng toán tử ==

Các toán tử dựng sẵn của Python rất tiện, đặc biệt khi so sánh các thực thể (instance) của một lớp. Khi xây dựng lớp, bạn có thể dùng các magic method để thay đổi cách các toán tử này hoạt động. Ở đây, bạn sẽ nạp chồng toán tử == để xác định hai thực thể của Computer có bằng nhau hay không.

Bài tập này là một phần của khóa học

Lập trình Hướng đối tượng Nâng cao với Python

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa một magic method để nạp chồng toán tử ==.
  • Trong magic method, so sánh thuộc tính device_id của selfother để quyết định hai thực thể có bằng nhau không.
  • Kiểm tra pre_upgrade_computerpost_upgrade_computer có bằng nhau không, rồi in kết quả.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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(____ == ____)
Chỉnh sửa và Chạy Mã