Python Các phép toán

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:

  1. Phép toán số học trong Python
  2. Phép toán so sánh trong Python
  3. Phép toán gán trong Python
  4. Phép toán logic trong Python
  5. Phép toán membership trong Python
  6. Pháp toán nhận dạng(identify) trong Python
  7. Phép toán thao tác bit trong Python
  8. 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 :

Toán tửMô tảVí dụ
+Phép cộng.a + b = 20
-Phép trừ.a – b = 5
*Phép nhâna * 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
** ExponentPhé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:

Toán tửMô tảVí dụ
==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.
<=Nhỏ hơn hoặc bằng.(a <= b) cho kết quả true.

Ví dụ

# Phép toán so sánh trong Python
a = 15
b = 5

if ( a == b ):
   print("Ket qua 1 - a is equal to b")
else:
   print("Ket qua 1 - a is not equal to b")
if ( a != b ):
   print("Ket qua 2 - a is not equal to b")
else:
   print("Ket qua 2 - a is equal to b")
if ( a < b ):
   print("Ket qua 3 - a is less than b")
else:
   print("Ket qua 3 - a is not less than b")
if ( a > b ):
   print("Ket qua 4 - a is greater than b")
else:
   print("Ket qua 4 - a is not greater than b")
if ( a <= b ):
   print("Ket qua 5 - a is either less than or equal to  b")
else:
   print("Ket qua 5 - a is neither less than or equal to  b")
if ( b >= a ):
   print("Ket qua 6 - b is either greater than  or equal to a")
else:
   print("Ket qua 6 - b is neither greater than  or equal to a")

Kết quả:

Ket qua 1 - a is not equal to b

Ket qua 2 - a is not equal to b

Ket qua 3 - a is not less than b

Ket qua 4 - a is greater than b

Ket qua 5 - a is neither less than or equal to b

Ket qua 6 - b is neither greater than or equal to a

Phép toán gán trong Python

Python có các phép toán gán sau:

Toán tửMô tảVí dụ
=Phép gán bằng.c = a + b, gán a + b cho c
+=Phép gán cộng.c += a tương đương c = c + a
-=Phép gán trừ.c -= a tương đương c = c - a
*=Phép gán nhân.c *= a tương đương c = c * a
/=Phép gán chia lấy phần nguyên.c /= a tương đương c = c / a
%=Phép gán chia lấy phần dư.c %= a tương đương c = c % a
**=Phép gán lũy thừa.c **= a is tương đương c = c ** a
//=Phép gán chia floor.c //= a is tương đương to c = c // a

Ví dụ

# Phép toán gán trong Python
a = 15
b = 5
c = a + b
print("Ket qua 1 - Value of c is ", c)
c += a
print("Ket qua 2 - Value of c is ", c)
c *= a
print("Ket qua 3 - Value of c is ", c)
c /= a 
print("Ket qua 4 - Value of c is ", c)
c %= a
print("Ket qua 5 - Value of c is ", c)
c **= a
print("Ket qua 6 - Value of c is ", c)
c //= a
print("Ket qua 7 - Value of c is ", c)

Kết quả:

Ket qua 1 - Value of c is  20

Ket qua 2 - Value of c is  35

Ket qua 3 - Value of c is  525

Ket qua 4 - Value of c is  35.0

Ket qua 5 - Value of c is  5.0

Ket qua 6 - Value of c is  30517578125.0

Ket qua 7 - Value of c is  2034505208.0

Phép toán logic trong Python

Ví dụ ta có biến a = 5, b = 10 , Python có các phép toán logic sau :

Toán tửMô tảVí dụ
andNếu cả 2 biểu thức là true thì cho kết quả true.(a > 3 and b > 9) là true.
orNế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:

Toán tửMô tảVí dụ
inTrả 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 inTrả 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.

Toán tửMô tảVí dụ
isTrả 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 notEvaluates 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 

Toán tửMô 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ảia << = 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ảia >> = 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ô 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 notCác toán tử Identity
in not inCác toán tử Membership
not or andCác toán tử logic