Toán tử là gì? Toán tử hay còn gọi là phép toán .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 3 + 6 = 9, trong đó 3 và 6 được gọi là các toán hạng và dấu + được gọi là toán tử.
Các phép toán trong Python
Sau đây là các phép toán trong Python:
- Phép toán số học trong Python
- Phép toán so sánh trong Python
- Phép toán gán trong Python
- Phép toán logic trong Python
- Phép toán membership trong Python
- Pháp toán nhận dạng[identify] trong Python
- Phép toán thao tác bit trong Python
- Thứ tự ưu tiên của các phép toán trong Python
Phép toán số học trong Python
Giả sử ta có biến a = 15 và b = 5, ta có các phép toán số học sau :
+ | Phép cộng. | a + b = 20 |
- | Phép trừ. | a – b = 5 |
* | Phép nhân | a * b = 75 |
/ | Phép chia lấy phần nguyên. | a / b = 3 |
% | Phép chia lấy phần dư. | b % a = 0 |
** Exponent | Phép lấy số mũ [ví dụ 2**3 cho kết quả là 2 mũ 3 = 8]. | a**b = 15 mũ 5 |
// | Floor Division - 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à âm, kết quả sẽ được làm tròn, được làm tròn từ 0 [hướng tới vô cực âm] | 9//2 = 4 và 9.0//2.0 = 4.0, -11//3 = -4, -11.0//3 = -4.0 |
Ví dụ
# Phép toán số học trong Python
a=15
b=5
c=a+b
print['Ket qua 1 - Gia tri c là: ',c]
c=a-b
print['Ket qua 2 - Gia tri c là: ',c]
c=a*b
print['Ket qua 3 - Gia tri c là: ',c]
c=a/b
print['Ket qua 4 - Gia tri c là: ',c]
c=a%b
print['Ket qua 5 - Gia tri c là: ',c]
c=a**b
print['Ket qua 6 - Gia tri c là: ',c]
c=a//b
print['Ket qua 7 - Gia tri c là: ',c]
Kết quả:
Ket qua 1 - Gia tri c là: 20
Ket qua 2 - Gia tri c là: 10
Ket qua 3 - Gia tri c là: 75
Ket qua 4 - Gia tri c là: 3.0
Ket qua 5 - Gia tri c là: 0
Ket qua 6 - Gia tri c là: 759375
Ket qua 7 - Gia tri c là: 3
Phép toán so sánh, quan hệ trong Python
Python có các phép toán so sánh sau:
Ví dụ : a=5 và b=10 ta có phép toán so sánh trong python như sau:
== | So sánh bằng. | [a == b] cho kết quả false. |
!= | So sánh không bằng. | [a != b] cho kết quả true. |
Không bằng [tương tự !=] | [a b] cho kết quả true. | |
> | Lớn hơn. | [a > b] cho kết quả false. |
< | Nhỏ hơn. | [a < b] cho kết quả true. |
>= | Lớn hơn hoặc bằng. | [a >= b] cho kết quả false. |
3 and b > 9] là true. | ||
or | Nếu 1 trong 2 biểu thức là true thì cho ra kết quả true. | [a > 3 or b > 10] is true. |
not | Được sử dụng để đảo ngược logic của biểu thức. | Not[a > 3] là false. |
Phép toán membership trong Python
Python có 2 phép toán membership là in và no in. Giả sử a=5, b=[5,10,15] ta có phép toán membership sau:
in | Trả về true nếu tìm thấy biến a trong tập các giá trị sau in, ngược lại trả về false. | a in b, trả về true . |
not in | Trả về false nếu tìm thấy biến a trong tập các giá trị sau in, ngược lại trả về false. | a in b, trả về false. Vì a tồn tại trong tập b. |
Ví dụ
# Phép toán membership trong Python
a = 5
b = 6
list = [5, 10, 12, 15, 18 ];
if [ a in list ]:
print["Ket qua 1 - a is available in the list"]
else:
print["Ket qua 1 - a is not available in the list"]
if [ b not in list ]:
print["Ket qua 2 - b is not available in the list"]
else:
print["Ket qua 2 - b is available in the the list"]
Kết quả :
Ket qua 1 - a is available in the list
Ket qua 2 - b is not available in the list
Phép toán nhận dạng trong Python
Phép toán nhận dạng so sánh vị trí bộ nhớ của hai đối tượng. Python có phép toán nhận dạng là is và is not.
is | Trả về true nếu 2 biến cùng trỏ về 1 đối tượng giống nhau. | a is b, trả về true nếu id[a] = id[b]. |
is not | Evaluates to false if the variables on either side of the operator point to the same object and true otherwise. | a is not b, trả về false nếu id[a] != id[b]. |
Ví dụ
# Phép toán nhận dạng trong Python
a = 5
b = 5
if [ a is b ]:
print["Ket qua 1 - a and b have same identity"]
else:
print["Ket qua 1 - a and b do not have same identity"]
if [ id[a] == id[b] ]:
print["Ket qua 2 - a and b have same identity"]
else:
print["Ket qua 2 - a and b do not have same identity"]
b = 10
if [ a is b
]:
print["Ket qua 3 - a and b have same identity"]
else:
print["Ket qua 3 - a and b do not have same identity"]
if [ a is not b ]:
print["Ket qua 4 - a and b do not have same identity"]
else:
print["Ket qua 4 - a and b have same identity"]
Kết quả :
Ket qua 1 - a and b have same indentity
Ket qua 2 - a and b have same indentity
Ket qua 3 - a and b do not have same indentity
Ket qua 4 - a and b do not have same indentity
Phép toán thao tác bit trong Python
Phép toán 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
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
& | 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 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] |
Thứ tự ưu tiên của các phép toán trong Python
Trong quá trình lập trình xây dựng chương trình phần mềm trong thực tế có nhiều bài toán sử dụng các đồng thời nhiều phép toán để tính toán, do đó bạn cần phải biết thứ tự ưu tiên của các phép toán đó.
Sau đây là thứ tự ưu tiên các phép toán trong Python:
** | 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ừ |
>> = | 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 |