N p ch ng toán t trong Pythonạ ồ ử
B n có th thay đ i ý nghĩa c a toán t trongạ ể ổ ủ ử Python tùy thu c vào toán ộ
h ng đ c s d ng và ta g i đó là n p ch ng toán t .ạ ượ ử ụ ọ ạ ồ ử
N p ch ng toán t trong Python là gì?ạ ồ ử
Toán t Python làm vi c b ng các hàm đ c d ng s n, nh ng m t toán t ử ệ ằ ượ ự ẵ ư ộ ử
có th đ c s d ng đ th c hi n nhi u ho t đ ng khác nhau. Ví d v i ể ượ ử ụ ể ự ệ ề ạ ộ ụ ớ
toán t ' + ', b n có th c ng s h c hai s v i nhau, có th k t h p hai ử ạ ể ộ ố ọ ố ớ ể ế ợ
danh sách, ho c n i hai chu i khác nhau l i…ặ ố ỗ ạ
Tính năng này trong Python g i là n p ch ng toán t , cho phép cùng m t ọ ạ ồ ử ộ
toán t đ c s d ng khác nhau tùy t ng ng c nh.ử ượ ử ụ ừ ữ ả
V y v n đ gì s x y ra khi ta s d ng n p ch ng toán t v i object c a ậ ấ ề ẽ ả ử ụ ạ ồ ử ớ ủ
m t l p do ng i dùng khai báo? Hãy theo dõi ví d mô ph ng m t đi m ộ ớ ườ ụ ỏ ộ ể
trong h t a đ hai chi u sau:ệ ọ ộ ề
class Point:
def __init__(self, x = 0, y = 0):
self.x = x
self.y = y
Ta ch y ch ng trình và nh p vào các đi m:ạ ươ ậ ể
>>> p1 = Point(2,3)
>>> p2 = Point(-1,2)
>>> p1 + p2
Traceback (most recent call last):
...
TypeError: unsupported operand type(s) for +: 'Point' and 'Point'
Ch ng trình ngay l p t c báo l iươ ậ ứ ỗ TypeError vì Python không th nh n hai ể ậ
đ i t ngố ượ Point cùng lúc.
Đ x lý v n đ này, ta s s d ng n p ch ng toán t .ể ử ấ ề ẽ ử ụ ạ ồ ử
Tr c tiên hãy tìm hi u qua m t s hàm đ c bi t sau đây.ướ ể ộ ố ặ ệ
Các hàm đ c bi t trong Pythonặ ệ
Hàm trong Class đ c b t đ u v i hai d u g ch d i li n nhauượ ắ ầ ớ ấ ạ ướ ề (__) là các
hàm đ c bi t, mang các ý nghĩa đ c bi t.ặ ệ ặ ệ