Toán tử được sử dụng để thao tác với giá trị và các biến. Toán tử có thể làm việc với các đối tượng riêng biệt và trả về kết quả. Dữ liệu được gọi là toán hạng hoặc đối số. Toán tử được đại diện bởi các từ khóa hoặc các ký tự đặc biệt. Ví dụ: đối với các toán tử định danh, chúng ta sử dụng từ khóa “is” và “is not”.
Trong bài này, chúng ta sẽ tìm hiểu các toán tử bao gồm:
-
Toán tử số học
-
Toán tử so sánh
-
Toán tử gán
-
Toán tử logic hoặc toán tử bitwise
-
Toán tử thành viên
-
Toán tử định danh
-
Độ ưu tiên toán tử
Toán tử số học
Toán tử số học thực hiện các phép tính số học khác nhau như cộng, trừ, nhân, chia, tìm phần dư, số mũ, v.v. Có nhiều phương pháp khác nhau để tính toán số học trong Python như sử dụng hàm eval, khai báo biến & tính toán hoặc gọi hàm.
Ví dụ: Đối với các toán tử số học, chúng ta sẽ lấy ví dụ đơn giản về phép cộng hai chữ số: 4 + 5 = 9
x= 4
y= 5
print(x + y)
Tương tự, bạn có thể sử dụng các toán tử số học khác như phép nhân (*), phép chia (/), phép trừ (-), v.v.
Toán tử so sánh
Toán tử này sẽ so sánh giá trị toán hạng nằm hai bên và xác định mối quan hệ giữa chúng. Nó cũng được gọi là toán tử quan hệ. Các toán tử so sánh khác là (== ,! =, <>,>, <=,…)
Ví dụ: Đối với toán tử so sánh, chúng ta sẽ so sánh giá trị của x với giá trị của y và in kết quả đúng hoặc sai. Ví dụ ở đây giá trị x = 4 nhỏ hơn y = 5, vì vậy khi chúng ta in ra x > y, chương trình sẽ so sánh giá trị của x và y, và vì x nhỏ hơn y nên kết quả trả về là sai.
x = 4
y = 5
print(('x > y is',x>y))
Tương tự, bạn có thể thử các toán tử so sánh khác (x < y, x == y, x != y,…)
Toán tử gán trong Python
Toán tử gán trong Python được sử dụng để gán giá trị của toán hạng bên phải cho toán hạng bên trái. Các toán tử gán khác nhau được sử dụng trong Python là (+=, -=, *=, /=, …)
Ví dụ: Gán giá trị:
num1 = 4
num2 = 5
print(("Line 1 - Value of num1 : ", num1))
print(("Line 2 - Value of num2 : ", num2))
Ví dụ về toán tử gán phức hợp
Chúng ta cũng có thể sử dụng toán tử gán phức hợp, trong đó bạn có thể cộng, trừ, nhân toán hạng bên phải sang trái kèm theo phép gán (hoặc bất kỳ hàm số học nào khác) cho toán hạng bên trái.
-
Bước 1: Gán giá trị cho num1 và num2
-
Bước 2: Cộng giá trị của num1 và num2 (4 + 5 = 9)
-
Bước 3: Cộng num1 vào đầu ra của Bước 2 (9 + 4)
-
Bước 4: Chương trình sẽ in kết quả cuối cùng là 13
num1 = 4
num2 = 5
res = num1 + num2
res += num1
print(("Line 1 - Result of + is ", res))
Toán tử logic
Toán tử logic trong Python được sử dụng cho các câu lệnh điều kiện là đúng hoặc sai. Toán tử logic trong Python bao gồm AND, OR và NOT. Các điều kiện sau được áp dụng cho toán tử logic:
-
Đối với toán tử AND – Nó trả về TRUE nếu cả hai toán hạng (bên phải và bên trái) đều đúng
-
Đối với toán tử OR – Nó trả về TRUE nếu một trong hai toán hạng (bên phải hoặc bên trái) là đúng
-
Đối với toán tử NOT – trả về TRUE nếu toán hạng là sai
Ví dụ: Trong ví dụ dưới đây, chúng ta nhận được kết quả đúng (True) hoặc sai (False) dựa trên giá trị của a và b.
a = True
b = False
print(('a and b is',a and b))
print(('a or b is',a or b))
print(('not a is',not a))
Toán tử thành viên
Các toán tử này kiểm tra tư cách thành viên trong một tập như danh sách, chuỗi hoặc tuple. Có hai toán tử thành viên được sử dụng trong Python là (in, not in). Kết quả trả về phụ thuộc vào việc biến có tồn tại trong chuỗi hoặc tập cho trước hay không.
Ví dụ : Kiểm tra giá trị của x = 4 và y = 8 có sẵn trong danh sách hay không bằng cách sử dụng toán tử in và not in.
x = 4
y = 8
list = [1, 2, 3, 4, 5 ];
if ( x in list ):
print("Line 1 - x is available in the given list")
else:
print("Line 1 - x is not available in the given list")
if ( y not in list ):
print("Line 2 - y is not available in the given list")
else:
print("Line 2 - y is available in the given list")
-
Khai báo giá trị cho x và y
-
Khai báo giá trị của danh sách
-
Sử dụng toán tử “in” với câu lệnh if để kiểm tra giá trị của x hiện có trong danh sách hay không và in ra kết quả tương ứng
-
Sử dụng toán tử “not in” với câu lệnh if để kiểm tra giá trị của y hiện có trong danh sách hay không và in kết quả tương ứng
-
Khi chương trình chạy, nó sẽ in ra kết quả như mong muốn.
Toán tử định danh
Để so sánh vị trí bộ nhớ của hai đối tượng, toán tử định danh được sử dụng. Hai toán tử định danh được sử dụng trong Python là (is, is not).
-
Toán tử is: Nó trả về đúng (True) nếu hai biến cùng trỏ tới một đối tượng và trả về sai (False) trong trường hợp ngược lại.
-
Toán tử is not: Nó trả về sai (False) nếu hai biến cùng trỏ một đối tượng và trả về đúng (True) trong trường hợp ngược lại.
Các toán tử sau được sắp xếp theo thứ tự ưu tiên giảm dần.
Các toán tử nằm trong cùng một ô sẽ có được tính từ trái sang phải.
Toán tử (độ ưu tiên giảm dần) |
Ý nghĩa |
** |
Số mũ |
*, /, //,% |
Nhân, chia, tính phần nguyên, tính số dư |
+, – |
Phép cộng, phép trừ |
<= <>> = = |
Toán tử so sánh |
=% = / = // = – = + = * = ** = |
Toán tử gán |
is is not |
Toán tử định danh |
in not in |
Toán tử thành viên |
not or and |
Toán tử logic |
Ví dụ:
x = 20
y = 20
if ( x is y ):
print("x & y SAME identity")
y=30
if ( x is not y ):
print("x & y have DIFFERENT identity")
-
Khai báo giá trị cho biến x và y
-
Sử dụng toán tử “is” để kiểm tra xem giá trị của x có giống y không
-
Tiếp theo chúng ta sử dụng toán tử “is not” để kiểm tra xem giá trị của x có khác giá trị của y hay không.
-
Chạy chương trình sẽ thu được kết quả trả về như mong muốn.
Thứ tự ưu tiên
Thứ tự ưu tiên sẽ xác định toán tử nào được thực hiện trước. Để tránh sự nhập nhằng trong các giá trị, thứ tự ưu tiên các toán tử là cần thiết. Giống như trong các phép tính thông thường, phép nhân có độ ưu tiên cao hơn phép cộng. Ví dụ: trong 3+ 4 * 5, câu trả lời là 23. Để thay đổi thứ tự ưu tiên, chúng ta sử dụng dấu ngoặc đơn (3 + 4) * 5, bây giờ câu trả lời là 35. Xem chi tiết các toán tử và độ ưu tiên ở bảng trên.
v = 4
w = 5
x = 8
y = 2
z = 0
z = (v+w) * x / y;
print("Value of (v+w) * x/ y is ", z)
-
Khai báo giá trị của biến v, w…z
-
Áp dụng công thức và chạy chương trình.
-
Chương trình sẽ thực thi và tính toán các biến với độ ưu tiên cao hơn rồi đưa ra kết quả.
Ví dụ sử dụng Python 2
Các ví dụ ở trên sử dụng Python 3, nếu bạn muốn sử dụng Python 2, hãy dùng đoạn mã nguồn dưới đây:
#Arithmetic Operators
x= 4
y= 5
print x + y
#Comparison Operators
x = 4
y = 5
print('x > y is',x>y)
#Assignment Operators
num1 = 4
num2 = 5
print ("Line 1 - Value of num1 : ", num1)
print ("Line 2 - Value of num2 : ", num2)
#compound assignment operator
num1 = 4
num2 = 5
res = num1 + num2
res += num1
print ("Line 1 - Result of + is ", res)
#Logical Operators
a = True
b = False
print('a and b is',a and b)
print('a or b is',a or b)
print('not a is',not a)
#Membership Operators
x = 4
y = 8
list = [1, 2, 3, 4, 5 ];
if ( x in list ):
print "Line 1 - x is available in the given list"
else:
print "Line 1 - x is not available in the given list"
if ( y not in list ):
print "Line 2 - y is not available in the given list"
else:
print "Line 2 - y is available in the given list"
#Identity Operators
x = 20
y = 20
if ( x is y ):
print "x & y SAME identity"
y=30
if ( x is not y ):
print "x & y have DIFFERENT identity"
#Operator precedence
v = 4
w = 5
x = 8
y = 2
z = 0
z = (v+w) * x / y;
print "Value of (v+w) * x/ y is ", z
Tổng kết
Toán tử trong một ngôn ngữ lập trình được sử dụng để thực thi các thao tác khác nhau trên giá trị hoặc các biến. Trong Python, bạn có thể sử dụng toán tử như sau:
-
Có nhiều phương pháp khác nhau để tính toán số học trong Python như sử dụng hàm eval, khai báo biến & tính toán hoặc gọi hàm.
-
Toán tử so sánh thường được gọi là toán tử quan hệ vì chúng được sử dụng để so sánh giá trị nằm hai bên và xác địch mối quan hệ giữa chúng.
-
Toán tử gán chỉ đơn giản là gán giá trị cho biến.
-
Python cũng cho phép bạn sử dụng toán tử gán phức hợp, trong phép tính số học phức tạp, trong đó bạn có thể gán kết quả của một toán hạng này cho toán hạng khác.
-
Đối với toán tử AND – Nó trả về TRUE nếu cả hai toán hạng (bên phải và bên trái) đều đúng.
-
Đối với toán tử OR – Nó trả về TRUE nếu một trong hai toán hạng (bên phải hoặc bên trái) là đúng.
-
Đối với toán tử NOT – trả về TRUE nếu toán hạng là sai.
-
Có hai toán tử thành viên được sử dụng trong Python (in, not in).
-
Nó đưa ra kết quả dựa trên biến có trong tập hợp hoặc chuỗi cho trước hay không.
-
Toán tử định danh được sử dụng trong Python là (is, is not).
-
Nó trả về đúng (True) nếu hai biến trỏ cùng một đối tượng và sai (False) trong trường hợp ngược lại.
-
Toán tử ưu tiên sẽ có ích trong trường hợp bạn cần tính toán một biểu thức phức tạp theo một thứ tự ưu tiên nhất định.