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
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_idcủaselfvàotherđể quyết định hai thực thể có bằng nhau không. - Kiểm tra
pre_upgrade_computervàpost_upgrade_computercó 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(____ == ____)