Các loại toán tử thường được sử dụng nhằm mục đích tối ưu các hoạt động trên dữ liệu được lưu trữ ớ trong biến số. Để giúp các bạn làm quen với các toán tử này, bài viết sẽ tổng hợp và kèm theo các ví dụ minh họa.
Sơ lược về toán tử trong Python
Trong ngôn ngữ lập trình Python, những toán tử thường được cấp trong module operator. Nó đóng vai trò như một hàm chức năng. Về bản chất, nó cũng tương tự như toán tử trong Python. Tên của những hàm chức năng khá độc đáo vì thể hiện qua dấu gạch dưới.
Mặc dù vậy, những biến thể sẽ kết thúc bằng _ để phục vụ cho giai đoạn xử lý sau này. Có thể nói, toán tử được xem là một trong những thành phần quan trọng nhất của bất kỳ ngôn ngữ lập trình.
Mỗi loại toán tử được thể hiện qua loại ký tự đặc biệt như phép tính đại số: +,-,*,/,%. Toán tử có thể map với những hàm liên quan ứng với module operator. Từ đó, người dùng sẽ cảm thấy tiện hơn trong việc sử dụng và xử lý.
Ví dụ:
2+3, thì chữ số 2 và chữ số 3 chính là toán hạng, và thể hiện qua dấu cộng “+”. Dấu “+” được gọi là toán tử. Thông thường, toán tử cộng này là kết quả của việc cộng hai toán hạng này. Kết quả cho ra là 5. Sau đây, chúng tôi sẽ đưa ra những ví dụ thể hiện mapping giữa toán tử và hàm chức năng nằm trong module operator.
Phép toán | Cú pháp | Hàm |
Cộng | a + b | add(a, b) |
Trừ | a – b | sub(a, b) |
Nhân | a * b | mul(a,b) |
Chia | a/b | truediv(a,b) |
Nối chuỗi | seq1 + seq2 | concat(seq1, seq2) |
Kiểm tra có chứa chuỗi | obj in seq | contains(seq, obj) |
Xor | a^b | xor(a, b) |
Or | a l b | or_(a, b) |
Lũy thừa | a ** b | pow(a, b) |
Cắt mảng | seq[i:j] | getitem(seq, slice(i, j)) |
So sánh nhỏ hơn | a < b | lt(a, b) |
So sánh lớn hơn | a > b | gt(a,b) |
Các bao nhiêu nhóm toán tử trong Python?
Dựa vào chức năng thì toán tử được phân ra làm sáu nhóm chính trong Python. Chúng tôi xin trình bày từng nhóm để quý vị tiện theo dõi.
Toán tử số học
Loại toán tử đầu tiên mà các bạn nên quan tâm đến chính là toán tử số học. Nó là tập hợp những ký hiệu được dùng cho việc triển khai các phép tính số học tiêu biểu như: cộng, trừ, nhân, chia, căn bậc hai, lũy thừa…
Sau đây, mời các bạn theo dõi ví dụ tương ứng về những dạng toán tử số học.
a = 5 b = 2
1. Toán tử cộng
print(a + b) # kết quả: 7
2. Toán tử trừ
print(a - b) # kết quả: 3
3. Toán tử nhân
print(a * b) # kết quả: 10
4. Toán tử chia
print(a / b) # kết quả: 2.5
5. Toán tử lấy phần dư
print(a % b) # kết quả: 1
6. Toán tử lũy thừa
print(a ** b) # kết quả: 25
7. Phép chia lấy phần nguyên
print(a // b) # kết quả: 2
Có hai biến a và b và được dùng để lưu trữ giá trị cho những số nguyên. Những toán tử số học thường dùng để thể hiện phép tính số học. Kết quả được in ra bằng hàm ‘print()’.
Toán tử logic
Những toán tử logic được dùng nhằm triển khai các phép tính logic đối với những giá trị boolean (True/False). Sau đây, chúng tôi xin điểm qua một vài toán tử logic trong ngôn ngữ lập trình Python.
1. AND: kết quả cho ra là True nếu hai biểu thức đúng và ngược lại.
Ví dụ:
x = 5 y = 10 z = 15 # Sử dụng toán tử AND if x < y and y < z: print("y nằm giữa x và z") else: print("y không nằm giữa x và z")
Kết quả: y nằm giữa x và z
2. OR: trả kết quả về True nếu có một trong hai biểu thức đúng và ngược lại.
Ví dụ:
x = 5 y = 10 z = 15 # Sử dụng toán tử OR if x > y or y < z: print("x lớn hơn y hoặc y nhỏ hơn z") else: print("cả hai biểu thức đều sai")
Kết quả: x lớn hơn y hoặc y nhỏ hơn z
3. NOT: trả kết quả về True nếu biểu thức sai và ngược lại.
Ví dụ:
x = 5 # Sử dụng toán tử NOT if not x > 10: print("x không lớn hơn 10") else: print("x lớn hơn 10")
Kết quả: x không lớn hơn 10
Toán tử gán
Loại toán tử này được dùng để gán vào biến một giá trị bất kỳ. Chúng bao gồm “=” để gán giá trị và những toán tử khác như “+=”, “-=”, “*=”, “/=”, “%=”, “**=”, “//=”.
Một vài ví dụ cho mọi người dễ hiểu khi gặp dạng toán tử này.
1. Toán tử “=”
a = 5
Gán giá trị vào biến a: 5
2. Toán tử “+=”
a = 5 a += 3
Biến a được cộng với 3 và kết quả là 8.
3. Toán tử “-=”
a = 5 a -= 2
Biến a được trừ đi 2 và kết quả là 3.
4. Toán tử “*=”
a = 5 a *= 2
Biến a được nhân với 2 và kết quả là 10.
5. Toán tử “/=”
a = 5 a /= 2
Biến a được chia cho 2 và kết quả là 2.5.
6. Toán tử “%=”
a = 5 a %= 2
Biến a được chia lấy phần dư cho 2 và kết quả là 1.
7. Toán tử “**=”
a = 5 a **= 2
Biến a được lũy thừa với số mũ là 2 và kết quả là 25.
8. Toán tử “//=”
a = 5 a //= 2
Biến a được chia lấy phần nguyên cho 2 và kết quả là 2.
Toán tử quan hệ
Loại toán tử được dùng để so sánh hai giá trị của hai biến hay giá trị của một biến với một giá trị có sẵn. Kết quả trả về dưới dạng một giá trị Boolean (True/False) ứng với kết quả của phép so sánh tương ứng.
1. Toán tử bằng (==): So sánh hai giá trị có bằng nhau hay không
x = 5 y = 7 print(x == y) # Output: False a = "hello" b = "hello" print(a == b) # Output: True
2. Toán tử khác (!=): So sánh hai giá trị có khác nhau không.
x = 5 y = 7 print(x != y) # Output: True a = "hello" b = "world" print(a != b) # Output: True
3. Toán tử lớn hơn (>): so sánh giá trị bên trái có lớn hơn bên phải hay không.
x = 5 y = 7 print(y > x) # Output: True a = "hello" b = "world" print(b > a) # Output: True
4. Toán tử nhỏ hơn (<): so sánh giá trị bên trái có nhỏ hơn bên phải không.
x = 5 y = 7 print(x < y) # Output: True a = "hello" b = "world" print(a < b) # Output: True
5. Toán tử lớn hơn hoặc bằng (>=): So sánh giá trị bên trái có lớn hơn hay bằng bên phải hay không.
x = 5 y = 7 print(y >= x) # Output: True a = "hello" b = "world" print(b >= a) # Output: True
6. Toán tử nhỏ hơn hoặc bằng (<=): So sánh giá trị bên trái có nhỏ hay bằng giá trị bên phải hay không.
x = 5 y = 7 print(x <= y) # Output: True a = "hello" b = "world" print(a <= b) # Output: True
Toán tử khai thác
Loại toán tử tiếp theo mà chúng tôi muốn nói đến chính là toán tử khai thác. Đây là dạng toán tử được dùng để tách những phần tử từ cấu trúc dữ liệu như dictionary, và list. Chúng được dùng để truy cập vào phần tử bên trong cấu trúc dữ liệu.
Hiện nay, sẽ có hai dạng toán tử khai thác gồm: toán tử ‘[]’ và ‘.’
1. Toán tử ‘[]’: dùng vào việc truy cập phần tử bên trong danh sách. Thông thường, người dùng sẽ chỉ định chỉ số cần truy cập bên trong dấu ngoặc vuông là bắt đầu từ 0.
Ví dụ:
my_list = ['apple', 'banana', 'orange'] print(my_list[1]) # output: 'banana' my_tuple = ('John', 'Doe', 25) print(my_tuple[2]) # output: 25
2. Toán tử ‘.’: được dùng để truy cập phương thức hay thuộc tính của đối tượng.
Ví dụ:
my_string = 'Hello, World!' print(my_string.upper()) # output: 'HELLO, WORLD!' my_dict = {'name': 'John', 'age': 25} print(my_dict.keys()) # output: dict_keys(['name', 'age'])
Dùng toán tử ‘.’ cho việc truy cập phương thức ‘upper()’ của chuỗi ‘my_string’ và phương thức ‘keys()’ của từ điển ‘my_dict’.
Toán tử xác thực
Dạng toán tử này được dùng để biết được một giá trị có nằm trong một tập hơp hay không. Chúng ta sẽ dùng từ khóa “in” để áp dụng cho dạng toán tử xác thực này. Giả định bạn cần kiểm tra xem một phần tử có nằm trong một danh sách hay không, câu trả lời là áp dụng toán tử xác thực ngay lập tức.
Ví dụ:
my_list = [1, 2, 3, 4, 5] if 3 in my_list: print("3 có trong danh sách") else: print("3 không có trong danh sách") Kết quả: "3 có trong danh sách".
Ngoài ra, chúng ta có thể dùng loại toán tử này để xem một chuỗi có chứa ký tự bất kỳ nào đó hay không.
Ví dụ:
my_string = "Hello, world!" if "o" in my_string: print("Chuỗi chứa ký tự 'o'") else: print("Chuỗi không chứa ký tự 'o'") Kết quả: "Chuỗi chứa ký tự 'o'".
Lời kết
Bài viết đã tổng hợp và chỉ ra những lợi ích của việc dùng toán tử trong ngôn ngữ lập trình Python. Một lần nữa, hy vọng các bạn sẽ dễ dàng áp dụng những kiến thức cũng như thực hành ví dụ về những dạng toán tử kể trên cho dự án Python của mình nhé. Xin cám ơn!