Toán tử là các cấu trúc có thể thao tác giá trị của toán hạng.
Xét biểu thức 4 + 5 = 9. Ở đây, 4 và 5 được gọi là toán hạng và + được gọi là toán tử.

Các loại toán tử

Ngôn ngữ Python hỗ trợ các loại toán tử sau.
  1. Toán tử số học.
  2. Toán tử quan hệ (còn gọi là toán tử so sánh).
  3. Toán tử gán.
  4. Toán tử logic.
  5. Toán tử membership.
  6. Toán tử identify.
  7. Toán tử thao tác bit.
Chúng ta hãy xem xét từng toán tử một.

Toán tử số học Python

Giả sử biến a giữ 10 và biến b giữ 20, sau đó:
Biểu thức Mô tả Ví dụ
+ Thêm các giá trị ở hai bên của toán tử. a + b = 30
- Trừ toán hạng bên phải từ toán hạng bên trái. a – b = -10
* Nhân các giá trị ở hai bên của toán tử. một * b = 200
/ Chia toán hạng bên trái cho toán hạng bên phải. b/a = 2
% Chia toán hạng bên trái cho toán hạng bên phải và trả về phần dư. b % a = 0
** Thực hiện phép tính hàm mũ (lũy thừa) trên các toán tử. a**b =10 mũ 20
// Phép chia tầng - Phép chia toán hạng trong đó kết quả là thương số trong đó các chữ số sau dấu thập phân được loại bỏ. Nhưng nếu một trong các toán hạng là số âm, kết quả sẽ là số sàn, nghĩa là, được làm tròn từ 0 (về phía âm vô cùng) 9/2 = 4 và 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0

Toán tử so sánh Python

Các toán tử này so sánh các giá trị ở hai bên của chúng và quyết định mối quan hệ giữa chúng. Chúng còn được gọi là Toán tử quan hệ.
Giả sử biến a giữ 10 và biến b giữ 20, sau đó:
Biểu thức Mô tả Ví dụ
== Nếu giá trị của hai toán hạng bằng nhau thì điều kiện trở thành true. (a == b) không đúng.
!= Nếu giá trị của hai toán hạng không bằng nhau, thì điều kiện trở thành true. (a != b) là đúng.
<> Nếu giá trị của hai toán hạng không bằng nhau, thì điều kiện trở thành true. (a <> b) là đúng. Điều này tương tự với toán tử !=
> Nếu giá trị của toán hạng bên trái lớn hơn giá trị của toán hạng bên phải thì điều kiện trở thành true. (a > b) không đúng.
< Nếu giá trị của toán hạng bên trái nhỏ hơn giá trị của toán hạng bên phải thì điều kiện trở thành true. (a < b) là đúng.
>= Nếu giá trị của toán hạng bên trái lớn hơn hoặc bằng giá trị của toán hạng bên phải thì điều kiện trở thành true. (a >= b) không đúng.
<= Nếu giá trị của toán hạng bên trái nhỏ hơn hoặc bằng giá trị của toán hạng bên phải thì điều kiện trở thành true. (a <= b) là đúng.

Toán tử gán trong Python

Giả sử biến a giữ 10 và biến b giữ 20, sau đó:
Biểu thức Mô tả Ví dụ
= Gán các giá trị từ toán hạng bên phải sang toán hạng bên trái c = a + b gán giá trị của a + b cho c
+= Nó thêm toán hạng bên phải vào toán hạng bên trái và gán kết quả cho toán hạng bên trái c += a tương đương với c = c + a
-= Nó trừ toán hạng bên phải từ toán hạng bên trái và gán kết quả cho toán hạng bên trái c -= a tương đương với c = c - a
*= Nó nhân toán hạng bên phải với toán hạng bên trái và gán kết quả cho toán hạng bên trái c *= a tương đương với c = c * a
/= Nó chia toán hạng bên trái với toán hạng bên phải và gán kết quả cho toán hạng bên trái c /= a tương đương với c = c / a
%= Nó lấy mô đun bằng cách sử dụng hai toán hạng và gán kết quả cho toán hạng bên trái c %= a tương đương với c = c % a
**= Thực hiện phép tính hàm mũ (lũy thừa) trên các toán tử và gán giá trị cho toán hạng bên trái c **= a tương đương với c = c ** a
//= Nó thực hiện phép chia tầng trên các toán tử và gán giá trị cho toán hạng bên trái c //= a tương đương với c = c // a

Toán tử thao tác bit

Toán tử bitwise hoạt động trên các bit và thực hiện thao tác từng bit. Giả sử nếu a = 60; và b = 13; Bây giờ ở định dạng nhị phân, giá trị của chúng sẽ lần lượt là 0011 1100 và 0000 1101. Bảng sau liệt kê các toán tử bitwise được hỗ trợ bởi ngôn ngữ Python với một ví dụ trong mỗi toán tử đó, chúng tôi sử dụng hai biến trên (a và b) làm toán hạng:
  • một = 0011 1100
  • b = 0000 1101
  • -----------------
  • a&b = 0000 1100
  • a|b = 0011 1101
  • a^b = 0011 0001
  • ~ a = 1100 0011
Có các toán tử Bitwise sau được hỗ trợ bởi ngôn ngữ Python
Nhà điều hành Sự mô tả Thí dụ
& nhị phân VÀ Toán tử sao chép một bit vào kết quả nếu nó tồn tại trong cả hai toán hạng (a & b) (có nghĩa là 0000 1100)
| Nhị phân HOẶC Nó sao chép một bit nếu nó tồn tại trong một trong hai toán hạng. (a | b) = 61 (nghĩa là 0011 1101)
^ XOR nhị phân Nó sao chép bit nếu nó được đặt trong một toán hạng chứ không phải cả hai. (a^b) = 49 (nghĩa là 0011 0001)
~ Bổ sung nhị phân Nó là đơn nguyên và có tác dụng 'lật' các bit. (~a ) = -61 (có nghĩa là 1100 0011 ở dạng bù 2 do số nhị phân có dấu.
<< Dịch trái nhị phân Giá trị toán hạng bên trái được di chuyển sang trái theo số bit được chỉ định bởi toán hạng bên phải. a << 2 = 240 (có nghĩa là 1111 0000)
>> Nhị phân phải Shift Giá trị toán hạng bên trái được di chuyển sang phải theo số bit được chỉ định bởi toán hạng bên phải. a >> 2 = 15 (nghĩa là 0000 1111)

Toán tử logic Python

Có các toán tử logic sau được hỗ trợ bởi ngôn ngữ Python. Giả sử biến a giữ 10 và biến b giữ 20 thì
Biểu thức Mô tả Ví dụ
AND Nếu cả hai toán hạng đều đúng thì điều kiện trở thành đúng. (a AND b) là đúng.
OR Nếu bất kỳ trong hai toán hạng khác không thì điều kiện trở thành đúng. (a OR b) là đúng.
NOT Được sử dụng để đảo ngược trạng thái logic của toán hạng của nó. NOT (a AND b) là sai.

Toán tử membership

Toán tử tư cách thành viên của Python kiểm tra tư cách thành viên theo một trình tự, chẳng hạn như chuỗi, danh sách hoặc bộ dữ liệu. Có hai toán tử thành viên như được giải thích bên dưới:
Biểu thức Mô tả Ví dụ
in Đánh giá là đúng nếu nó tìm thấy một biến trong chuỗi đã chỉ định và sai nếu ngược lại. x trong y, ở đây cho kết quả là 1 nếu x là phần tử của dãy y.
not in Đánh giá là đúng nếu nó không tìm thấy một biến trong chuỗi đã chỉ định và sai nếu ngược lại. x not in y, here not in cho kết quả là 1 nếu x không phải là phần tử của dãy y.

Toán tử identify

Toán tử nhận dạng so sánh vị trí bộ nhớ của hai đối tượng. Có hai toán tử Danh tính được giải thích bên dưới:
Biểu thức Mô tả Ví dụ
is Đánh giá là đúng nếu các biến ở hai bên của toán tử trỏ đến cùng một đối tượng và sai nếu không. x is y, đây là kết quả bằng 1 nếu id(x) bằng id(y).
is not Đánh giá là sai nếu các biến ở hai bên của toán tử trỏ đến cùng một đối tượng và đúng nếu ngược lại. x is not y, ở đây không có kết quả bằng 1 nếu id(x) không bằng id(y).

Ưu tiên toán tử Python

Bảng sau đây liệt kê tất cả các toán tử theo thứ tự ưu tiên cao nhất đến thấp nhất.
STT Mô tả
1 **
Luỹ thừa (nâng lũy thừa)
2 ~ + -
Phần bù, cộng và trừ một ngôi (tên phương thức cho hai phần cuối là +@ và -@)
3 * / % //
Nhân, chia, modulo và chia sàn
4 + -
Cộng và trừ
5 >> <<
Dịch chuyển theo bit phải và trái
6 &
Bitwise 'AND'
7 ^ |
Bitwise loại trừ `OR' và `OR' thông thường
8 <= < > >=
Toán tử so sánh
9 <> == !=
Toán tử bình đẳng
10 = %= /= //= -= += *= **=
Toán tử gán
11 is is not
Toán tử nhận dạng
12 in not in
nhà khai thác thành viên
13 not or and
Toán tử logic