Toán tử trong Python
Toán tử là các biểu tượng cụ thể mà thực hiện một số hoạt động trên một số giá trị và cho ra một kết quả. Ví dụ biểu thức 2 + 3 = 5, thì 2 và 3 được gọi là các toán hạng và dấu + được gọi là toán tử.
Các loại toán tử trong Python
Python hỗ trợ các loại toán tử sau:
Toán tử số học
Toán tử quan hệ (còn gọi là toán tử so sánh)
Toán tử gán
Toán tử logic
Toán tử membership
Toán tử identify
Toán tử thao tác bit
Toán tử số học trong Python
Assume variable a holds 10 and variable b holds 20, then −
Toán tử | Miêu tả |
---|---|
// | Thực hiện phép chia, trong đó kết quả là thương số sau khi đã xóa các chữ số sau dấu phảy |
+ | Phép cộng |
- | Phép trừ |
* | Phép nhân |
/ | Phép chia |
% | Phép chia lấy phần dư |
** | Phép lấy số mũ (ví dụ 2**3 cho kết quả là 8) |
Dưới đây là ví dụ minh họa các toán tử số học trong Python.
>>> 10+20 30 >>> 20-10 10 >>> 10*2 20 >>> 10/2 5 >>> 10%3 1 >>> 2**3 8 >>> 10//3 3 >>>
Toán tử quan hệ trong Python
Python hỗ trợ các toán tử quan hệ (toán tử so sánh) sau:
Toán tử | Miêu tả |
---|---|
< | Nhỏ hơn. Nếu giá trị của toán hạng trái là nhỏ hơn giá trị của toán hạng phải, thì điều kiện trở thành true |
> | Lớn hơn |
<= | Nhỏ hơn hoặc bằng |
<= | Lớn hơn hoặc bằng |
== | Bằng |
!= | Không bằng |
<> | Không bằng (tương tự !=) |
Dưới đây là ví dụ minh họa cho các toán tử quan hệ trong Python:
>>> 10<20 True >>> 10>20 False >>> 10<=10 True >>> 20>=15 True >>> 5==6 False >>> 5!=6 True >>> 10<>2 True >>>
Toán tử gán trong Python
Python hỗ trợ các loại toán tử gán sau:
Toán tử | Miêu tả |
---|---|
= | Phép gán |
/= | Chia toán hạng trái cho toán hạng phải, và gán kết quả cho toán hạng trái |
+= | Cộng và gán |
-= | Trừ và gán |
*= | Nhân và gán |
%= | Chia lấy phần dư và gán |
**= | Lấy số mũ và gán |
//= | Thực hiện phép chia // và gán |
Dưới đây là ví dụ minh họa cho các toán tử gán trong Python:
>>> c=10 >>> c 10 >>> c+=5 >>> c 15 >>> c-=5 >>> c 10 >>> c*=2 >>> c 20 >>> c/=2 >>> c 10 >>> c%=3 >>> c 1 >>> c=5 >>> c**=2 >>> c 25 >>> c//=2 >>> c 12 >>>
Toán tử logic trong Python
Python hỗ trợ các toán tử logic sau:
Toán tử | Miêu tả |
---|---|
and | Phép Và. Nếu cả hai điều kiện là true thì kết quả sẽ là true |
or | Phép Hoặc. Nếu một trong hai điều kiện là true thì kết quả là true |
not | Phép phủ định. Được sử dụng để đảo ngược trạng thái logic của toán hạng |
Dưới đây là ví dụ minh họa cho các toán tử logic trong Python:
a=5>4 and 3>2 print a b=5>4 or 3<2 print b c=not(5>4) print c
Kết quả là:
>>> True True False >>>
Toán tử thao tác bit trong Python
Toán tử thao tác bit làm việc trên các bit và thực hiện các hoạt động theo từng bit. Giả sử a = 60 và b = 13 thì định dạng nhị phân của chúng lần lượt là
a = 0011 1100 và b = 0000 1101.
Python hỗ trợ các toán tử thao tác bit sau:
Toán tử | Miêu tả | Ví dụ |
---|---|---|
& | Sao chép một bit tới kết quả nếu bit này tồn tại trong cả hai toán hạng | (a & b) cho kết quả 0000 1100 |
| | Sao chép một bit tới kết quả nếu bit này tồn tại trong bất kỳ toán hạng nào | (a | b) = 61 (tức là 0011 1101) |
^ | Sao chép bit nếu nó được set (chỉ bit 1) chỉ trong một toán hạng | (a ^ b) = 49 (tức là 0011 0001) |
~ | Đây là toán tử một ngôi, được sử dụng để đảo ngược bit | (~a ) = -61 (tức là 1100 0011) |
<< | Toán tử dịch trái nhị phân. Giá trị của toán hạng trái được dịch chuyển sang trái một số lượng bit đã được xác định bởi toán hạng phải | a << = 240 (tức là 1111 0000) |
>> | Toán tử dịch phải nhị phân. Giá trị của toán hạng trái được dịch chuyển sang phải một số lượng bit đã được xác định bởi toán hạng phải | a >> = 15 (tức là 0000 1111) |
Dưới đây là ví dụ minh họa cho các toán tử thao tác bit trong Python:
a = 60 # 60 = 0011 1100 b = 13 # 13 = 0000 1101 c = 0c = a & b; # 12 = 0000 1100 print "Dong 1 - Gia tri cua c la ", cc = a | b; # 61 = 0011 1101 print "Dong 2 - Gia tri cua c la ", cc = a ^ b; # 49 = 0011 0001 print "Dong 3 - Gia tri cua c la ", cc = ~a; # -61 = 1100 0011 print "Dong 4 - Gia tri cua c la ", cc = a << 2; # 240 = 1111 0000 print "Dong 5 - Gia tri cua c la ", cc = a >> 2; # 15 = 0000 1111 print "Dong 6 - Gia tri cua c la ", c
Toán tử membership trong Python
Toán tử membership trong Python kiểm tra xem biến này có nằm trong dãy (có là một trong các thành viên của dãy) hay không. Có hai toán tử membership trong Python là:
Toán tử | Miêu tả |
---|---|
in | Trả về true nếu một biến là nằm trong dãy các biến, nếu không là false |
not in | Trả về true nếu một biến là không nằm trong dãy các biến, nếu không là false |
Dưới đây là ví dụ minh họa cho các toán tử membership trong Python:
a=10 b=20 list=[10,20,30,40,50]; if (a in list): print "a la trong list da cho" else: print "a la khong trong list da cho" if(b not in list): print "b la khong trong list da cho" else: print "b la trong list da cho"
Kết quả là:
>>> a la trong list da cho b la trong list da cho >>>
Toán tử identify trong Python
Toán tử identify so sánh các vị trí ô nhớ của hai đối tượng. Python có hai toán tử identify là:
Toán tử | Miêu tả |
---|---|
is | Trả về true nếu các biến ở hai bên toán tử cùng trỏ tới một đối tượng, nếu không là false |
is not | Trả về false nếu các biến ở hai bên toán tử cùng trỏ tới một đối tượng, nếu không là true |
Dưới đây là ví dụ minh họa cho các toán tử identify trong Python:
a=20 b=20 if( a is b): print ?a,b co cung identity? else: print ?a, b la khac nhau? b=10 if( a is not b): print ?a,b co identity khac nhau? else: print ?a,b co cung identity?
Kết quả là:
>>> a,b co cung identity a,b co identity khac nhau >>>
Thứ tự ưu tiên của các toán tử trong Python
Bạn cần chú ý thứ tự ưu tiên của các toán tử để mang lại kết quả như mong muốn trong quá trình làm việc. Bảng dưới đây liệt kê tất cả các toán tử trong Python với thứ tự ưu tiên từ cao xuống thấp.
Toán tử | Miêu tả | |
---|---|---|
** | Toán tử mũ | |
~ + - | Phần bù; phép cộng và trừ một ngôi (với tên phương thức lần lượt là +@ và -@) | |
* / % // | Phép nhân, chia, lấy phần dư và phép chia // | |
+ - | Phép cộng và phép trừ | |
>> << | Dịch bit phải và dịch bit trái | |
& | Phép Và Bit | |
^ | | Phép XOR và OR | |
<= < > >= | Các toán tử so sánh | |
<> == != | Các toán tử so sánh bằng | |
= %= /= //= -= += *= **= | Các toán tử gán | |
is is not | Các toán tử Identity | |
in not in | Các toán tử Membership | |
not or and | Các toán tử logic |