Tự làm phép cộng

img

Các phép toán trong Python thực chất là các “syntactic sugar”, giúp cho viết gọn hơn thay vì dùng các method thực sự bên dưới. Phép cộng, nói 1 cách đơn giản, sẽ gọi method __add__. Việc này làm thay đổi ý nghĩa thông thường của dấu + để cộng các số, có tên gọi là “operator overloading”. Trong Python, “operator overloading” được dùng phổ biến, khi string cũng + được với nhau, list cũng + được với nhau.

Ví dụ sau tự định nghĩa class MyInt và thực hiện phép cộng cho kết quả… bất ngờ:

class MyInt():
    def __init__(self, n):
        self.n = n
    def __add__(self, k):
        return (self.n + k.n) * 2
two = MyInt(2)
three = MyInt(3)
print(two + three == 10)

glot.io

Tham khảo phép tính += thực sự làm gì tại https://pymi.vn/blog/augassign/.

Đăng ký ngay tại PyMI.vn để học Python tại Hà Nội TP HCM (Sài Gòn), trở thành lập trình viên #python chuyên nghiệp ngay sau khóa học.