Python: Các phép toán cơ bản

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực

Phép toán (hay Toán tử) là các cấu trúc có thể thao tác giá trị của toán hạng (hay số 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à phép toán.

Các loại phép toán trong Python

Ngôn ngữ Python hỗ trợ các loại phép toán sau.

  • Phép toán số học
  • Phép toán so sánh (quan hệ)
  • Phép toán chuyển nhượng
  • Phép toán logic
  • Phép toán bitwise (phép toán nhị phân)
  • Phép toán dịch bit
  • Phép toán nhận dạng

Dưới đây chúng ta sẽ xem xét tất cả các loại phép toán này.

Phép toán số học trong Python

Giả sử biến a giữ 10 và biến b giữ 20, thì:

Phép toán Mô 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 hai toán tử cho nhau. 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 lấy phần dư toán hạng bên trái cho toán hạng bên phải b % a = 0
** Tính lũy thừa trên các toán tử a ** b = 10 lũy thừa 20
// Chia lấy cận dưới (hay chia lấy phần nguyên) - 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 thả nổi, tức là được làm tròn từ 0 (về phía vô cực âm) 9//2=4 và 9.0//2.0=4.0, -11//3=-4, -11.0//3=-4.0

Phép toán so sánh trong Python

Các phép toán này so sánh các giá trị ở hai bên trái phải của chúng và quyết định mối quan hệ giữa chúng. Chúng cũng được gọi là phép toán quan hệ.

Giả sử biến a giữ 10 và biến b giữ 20, thì:

Phép toán Mô 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 True. (a == b) False.
!= Nếu giá trị của hai toán hạng không bằng nhau, thì điều kiện trở thành True. (a != b) True.
<> Nếu giá trị của hai toán hạng không bằng nhau, thì điều kiện trở thành True. (a <> b) True. Điều này tương tự như phép toán !=
> 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 True. ( a>b ) False.
< 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 True. ( a<b ) True.
>= 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 True. (a >= b) False.
<= 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 True. (a <= b) True.

Phép toán gán trong Python

Giả sử biến a giữ 10 và biến b giữ 20, thì:

Phép toán Mô 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
+= Thêm 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
-= 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
*= 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
/= 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
%= 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 toán hàm mũ (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
//= Thực hiện phân chia tầng 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

Phép toán bitwise (phép toán nhị phân) của Python

Phép toán bitwise hoạt động trên bit và thực hiện thao tác bit by bit.

Giả sử nếu a = 60; và b = 13; bây giờ ở định dạng nhị phân, chúng sẽ như sau:

a = 0011 1100

b = 0000 1101

Ta có các phép toán bitwise sau được hỗ trợ bởi ngôn ngữ Python:

Phép toán & (AND) nhị phân:

Hoạt động theo nguyên tắc sau:

0 & 0 = 0

0 & 1 = 0

1 & 0 = 0

1 & 1 = 1

Theo nguyên tắc trên thì ta thấy rằng nếu 2 bit đều là 1 thì & với nhau sẽ được kết quả là 1, các trường hợp còn lại cho kết quả là 0.

Ví dụ:

a = 0011 1100

&

b = 0000 1101

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

=>  0000 1100

Phép toán | (OR) nhị phân:

Hoạt động theo nguyên tắc sau:

0 | 0 = 0

0 | 1 = 1

1 | 0 = 1

1 | 1 = 1

Theo nguyên tắc trên thì nếu 2 bit đều là 0 thì | với nhau sẽ được kết quả là 0, các trường hợp còn lại sẽ cho kết quả là 1.

Ví dụ:

a = 0011 1100

|

b = 0000 1101

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

=>  0011 1101

Phép toán ^ (XOR) nhị phân:

Hoạt động theo nguyên tắc sau:

0 ^ 0 = 0

0 ^ 1 = 1

1 ^ 0 = 1

1 ^ 1 = 0

Theo nguyên tắc trên thì nếu 2 bit giống nhau sẽ cho kết quả là 0, các trường hợp còn lại sẽ cho kết quả là 1.

Ví dụ:

a = 0011 1100

^

b = 0000 1101

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

=>  0011 0001

Phép toán ~ (NOT hay Đảo bit) nhị phân:

Hoạt động theo công thức sau:

~A = -(A + 1)

Trong đó A là một số hệ 10.

Ví dụ:

~10 = -(10 + 1) = 11

~-10 = -(-10 + 1) = -(-9) = 9

Phép toán << (Dịch trái) nhị phân

Hoạt động theo nguyên tắc sau:

Dịch trái biến a n bit tương ứng với: a = a * 2n. Lưu ý a phải là một số nguyên.

Ví dụ:

a = 60

print(a << 3) #kết quả là 480

Phép toán >> (Dịch phải) nhị phân

Hoạt động theo nguyên tắc sau:

Dịch phải biến a n bit tương ứng với: a = a // 2n. Lưu ý a phải là một số nguyên.

Ví dụ:

a = 60

print(a >> 3) #kết quả là 7

Phép toán logic trong Python

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

Toán tử Sự miêu tả Thí dụ
and Nếu cả hai toán hạng đều đúng thì điều kiện trở thành True. (a and b) True.
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 True. (a or b) True.
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) False.

Phép toán membership trong Python

Các phép toán membership 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 phép toán membership như được giải thích dưới đây:

Phép toán Mô tả Ví dụ
in Đánh giá là True nếu nó tìm thấy một biến trong chuỗi đã chỉ định, ngược lại là False. x in y, ở đây kết quả là 1 nếu x là thành viên của chuỗi y.
not in Đánh giá là True nếu không tìm thấy một biến trong chuỗi được chỉ định, ngược lại là False. x not in y, ở đây không có kết quả là 1 nếu x không phải là thành viên của chuỗi y.

Phép toán nhận dạng trong Python

Phép toán nhận dạng so sánh các vị trí bộ nhớ của hai đối tượng. Có hai toán tử nhận dạng được giải thích như bên dưới:

Phép toán Mô tả Thí 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, ngược lại là False.

x = 2

print(x is 2) # sẽ in ra True

y = 2.0

print(y is 2) # sẽ in ra False

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à đúng khác.

x = 2

print(x is not 2) # sẽ in ra False

y = 2.0

print(y is not 2) # sẽ in ra True

Độ ưu tiên phép toán trong Python

Bảng sau liệt kê tất cả các phép toán với độ ưu tiên từ cao nhất đến thấp nhất.

Độ ưu tiên Toán tử & Mô tả
1

**

Lũy thừa

2

~ + -

Đảo bit, đảo dấu dương và đảo dấu âm

3

* / % //

Nhân, chia, module và chia lấy nguyên

4

+ -

Cộng và trừ

5

>> <<

Dịch bit phải và trái

6

&

Bitwise 'AND'

7

^ |

Bitwise 'XOR' và 'OR' thông thường

8

<= < > >=

Phép toán so sánh

9

<> == !=

Phép toán so sánh bằng và khác nhau

10

=  %=  /=  //=  -=  +=  *=  **=

Các phép toán chuyển nhượng (phép gán)

11

is, is not

Phép toán nhận dạng

12

in, not in

Phép toán thành viên

13

not, or, and

Phép toán logic

Bài học và Bài tập liên quan

  1. Nhập liệu với Python
  2. Bài tập cơ bản
» Tiếp: Các loại biến và kiểu dữ liệu
« Trước: Cú pháp cơ bản
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!