Hướng dẫn dấu khác 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 4 + 5 = 9, trong đó 4 và 5 được gọi là các toán hạng và dấu + được gọi là toán tử.


Nội dung chính

  • Các loại toán tử trong Python
  • 1. Toán tử số học trong Python
  • 2. Toán tử quan hệ trong Python
  • 3. Toán tử gán trong Python
  • 4. Toán tử logic trong Python
  • 5. Toán tử membership trong Python
  • 6. Toán tử nhận dạng (identify) trong Python
  • 7. Toán tử thao tác bit trong Python
  • 8. Thứ tự ưu tiên của các 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.


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

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

Toán tửMô tảVí dụ
+ Phép cộng. a + b = 30
- Phép trừ. a – b = -10
* Phép nhân a * b = 200
/ Phép chia lấy phần nguyên. b / a = 2
% 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 = 10 mũ 20
// 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ụ:

#!/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

Kết quả:

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


2. Toán tử quan hệ trong Python

Python hỗ trợ các toán tử quan hệ (toán tử so sánh) sau:

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

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ụ:

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"

Kết quả:

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



3. Toán tử gán trong Python

Python cung cấp các toán tử gán như 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ụ:

#!/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

Kết quả:

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


4. Toán tử logic trong Python

Python cung cấp các toán tử gán như sau. Giả sử a = 10 và b = 20, ta có:

Toán tửMô tảVí dụ
and Nếu cả 2 biểu thức là true thì cho kết quả true. (a > 9 and b > 19) là true.
or Nếu 1 trong 2 biểu thức là true thì cho ra kết quả true. (a > 9 or b > 100) is true.
not Được sử dụng để đảo ngược logic của biểu thức. Not(a > 9) là false.


5. Toán tử membership trong Python

Python cung cấp 2 toán tử membership sau, giả sử x = 10 và y = [10, 20, 30], ta có:

Toán tửMô tảVí dụ
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. x in y, 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. x in y, trả về false. Vì x tồn tại trong tập y.

Ví dụ:

#!/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"

Kết quả:

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


6. Toán tử nhận dạng (identify) 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ửMô tảVí dụ
is Trả về true nếu 2 biến cùng trỏ về 1 đối tượng giống nhau. x is y, trả về true nếu id(x) = id(y).
is not Evaluates to false if the variables on either side of the operator point to the same object and true otherwise. x is not y, trả về false nếu id(x) != id(y).

Ví dụ:

#!/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"

Kết quả:

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



7. 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

b = 0000 1101

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

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

Python hỗ trợ các toán tử thao tác bit sau:

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ả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)

Ví dụ:

#!/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

Kết quả:

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

8. 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ử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 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

#!/usr/bin/python

a = 20
b = 10
c = 15
d = 5
e = 0

e = (a + b) * c / d       #( 30 * 15 ) / 5
print "Value of (a + b) * c / d is ",  e

e = ((a + b) * c) / d     # (30 * 15 ) / 5
print "Value of ((a + b) * c) / d is ",  e

e = (a + b) * (c / d);    # (30) * (15/5)
print "Value of (a + b) * (c / d) is ",  e

e = a + (b * c) / d;      #  20 + (150/5)
print "Value of a + (b * c) / d is ",  e

Kết quả:

Value of (a + b) * c / d is 90
Value of ((a + b) * c) / d is 90
Value of (a + b) * (c / d) is 90
Value of a + (b * c) / d is 50


Link tham khảo:

https://www.tutorialspoint.com/python/python_basic_operators.htm