Toán tử cơ bản trong Python

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:

  • Toán tử số học
  • Toán tử so sánh (quan hệ)
  • Toán tử gán
  • Toán tử logic
  • Toán tử bitwise
  • Toán tử thành viên
  • Toán tử định danh

Chúng ta hãy xem xét tất cả các nhà khai thác từng cái một.

Toán tử số học trong Python

Giả sử biến a = 10 và biến b = 20, sau đó:

Toán tử Miêu tả Ví dụ
+ Cộng giá trị ở hai bên của toán tử. a + b = 30
- Trừ toán hạng bên trái cho toán hạng bên phải. a - b = -10
* Nhân giá trị ở hai bên của toán tử a * 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 còn lại b% a = 0
** Thực hiện tính lũy thừa trên các toán tử a ** b => 10 lũy thừa 20
// Phép chia làm tròn 9 // 2 = 4 và 9.0 // 2.0 = 4.0, -11 // 3 = -4, -11.0 // 3 = -4.0

Ví dụ minh họa toán tử số học trong Python:

#!/usr/bin/python

a = 21
b = 10
c = 0

c = a + b
print "Line 1 - Value of c is ", c

c = a - b
print "Line 2 - Value of c is ", c 

c = a * b
print "Line 3 - Value of c is ", c 

c = a / b
print "Line 4 - Value of c is ", c 

c = a % b
print "Line 5 - Value of c is ", c

a = 2
b = 3
c = a**b 
print "Line 6 - Value of c is ", c

a = 10
b = 5
c = a//b 
print "Line 7 - Value of c is ", c

Khi bạn thực hiện chương trình trên, nó tạo ra kết quả sau:

Line 1 - Value of c is 31
Line 2 - Value of c is 11
Line 3 - Value of c is 210
Line 4 - Value of c is 2
Line 5 - Value of c is 1
Line 6 - Value of c is 8
Line 7 - Value of c is 2

Toán tử so sánh trong 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ũng được gọi là toán tử quan hệ.

Giả sử biến a = 10 và biến b = 20, sau đó:

Toán tử Miêu tả Ví dụ
== Nếu các giá trị của hai toán hạng bằng nhau, thì điều kiện trở thành đúng. (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 đúng. (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 đúng. (a <> b) là đúng. Điều này tương tự như 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 sẽ trở thành đúng. (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 sẽ trở thành đúng. (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 sẽ trở thành đúng. (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 sẽ trở thành đúng. (a <= b) là đúng.

Ví dụ minh họa toán tử so sánh trong Python:

#!/usr/bin/python

a = 21
b = 10
c = 0

if ( a == b ):
   print "Line 1 - a is equal to b"
else:
   print "Line 1 - a is not equal to b"

if ( a != b ):
   print "Line 2 - a is not equal to b"
else:
   print "Line 2 - a is equal to b"

if ( a <> b ):
   print "Line 3 - a is not equal to b"
else:
   print "Line 3 - a is equal to b"

if ( a < b ):
   print "Line 4 - a is less than b" 
else:
   print "Line 4 - a is not less than b"

if ( a > b ):
   print "Line 5 - a is greater than b"
else:
   print "Line 5 - a is not greater than b"

a = 5;
b = 20;
if ( a <= b ):
   print "Line 6 - a is either less than or equal to  b"
else:
   print "Line 6 - a is neither less than nor equal to  b"

if ( b >= a ):
   print "Line 7 - b is either greater than  or equal to b"
else:
   print "Line 7 - b is neither greater than  nor equal to b"

Khi bạn thực hiện chương trình trên, nó tạo ra kết quả sau:

Line 1 - a is not equal to b
Line 2 - a is not equal to b
Line 3 - a is not equal to b
Line 4 - a is not less than b
Line 5 - a is greater than b
Line 6 - a is either less than or equal to b
Line 7 - b is either greater than or equal to b

Toán tử gán trong Python

Giả sử biến a = 10 và biến b = 20, sau đó:

Toán tử Miêu tả Ví dụ
= Gán các giá trị từ toán hạng bên phải cho toán hạng bên trái c = a + b gán giá trị của a + b vào c
+= Nó cộng 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 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 tính 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 làm 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

Ví dụ minh họa toán tử gán trong Python:

#!/usr/bin/python

a = 21
b = 10
c = 0

c = a + b
print "Line 1 - Value of c is ", c

c += a
print "Line 2 - Value of c is ", c 

c *= a
print "Line 3 - Value of c is ", c 

c /= a 
print "Line 4 - Value of c is ", c 

c  = 2
c %= a
print "Line 5 - Value of c is ", c

c **= a
print "Line 6 - Value of c is ", c

c //= a
print "Line 7 - Value of c is ", c

Khi bạn thực hiện chương trình trên, nó tạo ra kết quả sau:

Line 1 - Value of c is 31
Line 2 - Value of c is 52
Line 3 - Value of c is 1092
Line 4 - Value of c is 52
Line 5 - Value of c is 2
Line 6 - Value of c is 2097152
Line 7 - Value of c is 99864

Toán tử bitwise trong Python

Toán tử bitwise hoạt động trên 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 đó, chúng tôi sử dụng hai biến trên (a và b) làm toán hạng:

a = 0011 1100

b = 0000 1101

-----------------

a & b = 0000 1100

a | b = 0011 1101

a ^ b = 0011 0001

~ a = 1100 0011

Các toán tử Bitwise sau được hỗ trợ bởi ngôn ngữ Python:

Toán tử Miêu tả Ví dụ
& Toán tử AND (và) nhị phân trả về những bit tồn tại trong cả hai toán hạng. (a & b) = 12 (có nghĩa là 0000 1100)
| Toán tử OR (hoặc) nhị phân rả về những bit tồn tại trong một hoặc hai toán hạng. (a | b) = 61 (có nghĩa là 0011 1101)
^ Toán tử XOR nhị phân trả về những bit mà nó chỉ tồn tại trong một toán hạng mà không phải cả hai. (a ^ b) = 49 (có nghĩa là 0011 0001)
~ Toán tử đảo bit (đảo bit 1 thành bit 0 và ngược lại). (~a) = -61 (có nghĩa là 1100 0011 ở dạng bổ sung của 2 do số nhị phân đã ký.
<< Toán tử dịch trái. Giá trị toán hạng trái được dịch chuyển sang trái bởi số các bit được xác định bởi toán hạng bên phải a << 2 = 240 (có nghĩa là 1111 0000)
>> Toán tử dịch phải. Giá trị toán hạng trái được dịch chuyển sang phải bởi số các bit được xác định bởi toán hạng bên phải a >> 2 = 15 (có nghĩa là 0000 1111)

Ví dụ minh họa toán tử bitwise trong Python:

#!/usr/bin/python

a = 60            # 60 = 0011 1100 
b = 13            # 13 = 0000 1101 
c = 0

c = a & b;        # 12 = 0000 1100
print "Line 1 - Value of c is ", c

c = a | b;        # 61 = 0011 1101 
print "Line 2 - Value of c is ", c

c = a ^ b;        # 49 = 0011 0001
print "Line 3 - Value of c is ", c

c = ~a;           # -61 = 1100 0011
print "Line 4 - Value of c is ", c

c = a << 2;       # 240 = 1111 0000
print "Line 5 - Value of c is ", c

c = a >> 2;       # 15 = 0000 1111
print "Line 6 - Value of c is ", c

Khi bạn thực hiện chương trình trên, nó tạo ra kết quả sau:

Line 1 - Value of c is 12
Line 2 - Value of c is 61
Line 3 - Value of c is 49
Line 4 - Value of c is -61
Line 5 - Value of c is 240
Line 6 - Value of c is 15

Toán tử logic của Python

Có các toán tử logic sau được hỗ trợ bởi ngôn ngữ Python. Giả sử biến a = 10 và biến b = 20 thì

Toán tử Miêu 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ỳ một trong hai toán hạng đều khác không thì điều kiện sẽ 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ử thành viên Python

Các toán tử thành viên của Python kiểm tra tư cách thành viên theo 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 dưới đây

Toán tử Miêu tả Ví dụ
in Đánh giá là true nếu nó tìm thấy một biến trong danh sách được chỉ định và false nếu ngược lại. x in y, kết quả là true nếu x là thành viên của danh sách y.
not in Đánh giá là true nếu nó không tìm thấy một biến trong danh sách được chỉ định và false nếu ngược lại. x not in y, kết quả là true nếu x không phải là thành viên của danh sách y.

Ví dụ minh họa toán tử thành viên trong Python:

#!/usr/bin/python

a = 10
b = 20
list = [1, 2, 3, 4, 5 ];

if ( a in list ):
   print "Line 1 - a is available in the given list"
else:
   print "Line 1 - a is not available in the given list"

if ( b not in list ):
   print "Line 2 - b is not available in the given list"
else:
   print "Line 2 - b is available in the given list"

a = 2
if ( a in list ):
   print "Line 3 - a is available in the given list"
else:
   print "Line 3 - a is not available in the given list"

Khi bạn thực hiện chương trình trên, nó tạo ra kết quả sau:

Line 1 - a is not available in the given list
Line 2 - b is not available in the given list
Line 3 - a is available in the given list

Toán tử định danh trong Python

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ử Nhận dạng được giải thích bên dưới

Toán tử Miêu tả Ví dụ
is Đánh giá là true nếu các biến ở hai bên của toán tử trỏ đến cùng một đối tượng và false nếu ngược lại. x is y, kết quả là true nếu id (x) bằng id (y).
is not Đánh giá thành false nếu các biến ở hai bên của toán tử trỏ đến cùng một đối tượng và true nếu ngược lại. x is not y, kết quả là true nếu id (x) không bằng id (y).

Ví dụ minh họa toán tử định danh trong Python:

#!/usr/bin/python

a = 20
b = 20

if ( a is b ):
   print "Line 1 - a and b have same identity"
else:
   print "Line 1 - a and b do not have same identity"

if ( id(a) == id(b) ):
   print "Line 2 - a and b have same identity"
else:
   print "Line 2 - a and b do not have same identity"

b = 30
if ( a is b ):
   print "Line 3 - a and b have same identity"
else:
   print "Line 3 - a and b do not have same identity"

if ( a is not b ):
   print "Line 4 - a and b do not have same identity"
else:
   print "Line 4 - a and b have same identity"

Khi bạn thực hiện chương trình trên, nó tạo ra kết quả sau:

Line 1 - a and b have same identity
Line 2 - a and b have same identity
Line 3 - a and b do not have same identity
Line 4 - a and b do not have same identity

Độ ưu tiên của toán tử trong Python

Bảng sau liệt kê tất cả các toán tử từ ưu tiên cao nhất đến thấp nhất.

STT Toán tử & Mô tả
1

**

Lũy thừa

2

~, +, -

Bổ sung, cộng và trừ (tên phương thức cho hai cuối cùng là +@ và -@)

3

*, /, %, //

Nhân, chia, modulo và chia làm tròn

4

+, -

Cộng và trừ

5

>>, <<

Dịch chuyển bit phải và trái

6

&

Bitwise 'and'

7

^ |

Bitwise 'NOR' và 'OR'

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 danh

12

in, not in

Toán tử thành viên

13

not, or, and

Toán tử logic



Bài viết liên quan:

Kiểu chuỗi trong Python là gì? Làm sao để khai báo biến và sử dụng các hàm tích hợp, định dạng kiểu chuỗi trong Python?

Kiểu số trong Python là gì? Python có những kiểu dữ liệu số nào? Các hàm tiện ích về số trong Python?

Vòng lặp trong Python là gì? Python hỗ trợ những loại vòng lặp nào? Cách sử dụng những vòng lặp này trong Python.