Thứ tự ưu tiên toán tử trong python | Laptrinhcanban.com

Thứ tự ưu tiên toán tử trong python

Giải thích về thứ tự ưu tiên toán tử trong python. Bạn có thể sử dụng nhiều loại toán tử trong python, nhưng nếu có nhiều toán tử cùng tồn tại trong một câu lệnh, thì chương trình sẽ thực hiện các toán tử theo thứ tự ưu tiên toán tử trong python.

Bảng thứ tự ưu tiên toán tử trong python

Bảng sau đây đưa ra thứ tự ưu tiên toán tử trong python, theo thứ tự từ cao nhất đến thấp nhất:

STTToán tửÝ nghĩa
1(expressions...),
[expressions...],
{key: value...},
{expressions...}
Hiển thị tuple, list, danh sách, từ điển
2x[index], x[index:index],
x(arguments...), x.attribute
Đăng ký, cắt, gọi, tham chiếu thuộc tính
3await xBiểu thức await
4**Lũy thừa
5+x, -x, ~xGiữ dấu, Đổi dấu,bit NOT
6*, @, /, //, %Nhân, matrix, chia, chia làm tròn và chia lấy dư
7+, -Cộng trừ
8<<, >>Phép toán dịch bit
9&bit AND
10^bit XOR
11bit OR
12in, not in, is, is not,
<, <=, >, >=, !=, ==
So sánh
13not xBoolean NOT
14andBoolean AND
15orBoolean OR
16if -- elseBiểu thức điều kiện
17lambdaBiểu thức Lambda

Ví dụ như trong một biểu thức chứa các toán tử if -- else và phép nhân và phép cộng, thì phép nhân thực hiện trước, rồi đến phép cộng , và cuối cùng đến toán tử if -- else .

Tính toán theo thứ tự ưu tiên toán tử trong python

Trong trường hợp tồn tại nhiều toán tử trong một biểu thức, python sẽ tính toán theo thứ tự ưu tiên toán tử trong python, với hai luật sau đây:

Tính toán theo thứ tự ưu tiên toán tử trong python

Hãy cùng xem ví dụ sau đây:

num = 5 + 3 * 4

Khi so sánh thứ tự ưu tiên của toán tử số học +*, thì do * có thứ tự ưu tiên cao hơn nên sẽ được tính toán trước +, và biểu thức trên sẽ được tính toán như sau:

num = 5 + 3 * 4
num = 5 + 12
num = 17

Tính toán từ trái qua phải khi thứ tự ưu tiên toán tử trong python giống nhau

Hãy xem ví dụ sau:

num = 8 / 2 * 4

Khi so sánh thứ tự ưu tiên của toán tử số học /*, do hai toán tử số học này có thứ tự ưu tiên toán tử trong python giống nhau, nên python sẽ tính toán từ trái qua phải, và biểu thức trên sẽ được tính toán như sau:

num = 8 / 2 * 4
num = 4 * 4
num = 16

Thay đổi thứ tự tính toán các toán tử trong python

Khi muốn thay đổi thứ tự tính toán các toán tử trong python, chúng ta sẽ sử dụng dấu ngoặc đơn() chèn vào biểu thức. Toán tử nào bên trong dấu ngoặc đơn() sẽ được ưu tiến tính toán trước.
Hãy cùng xem ví dụ sau đây:

num1 = 5 + 3 * 4
num2 = (5 + 3) * 4

Ở biểu thức num1, do không xuất hiện dấu ngoặc đơn nên python thực hiện tính toán theo mặc định.

num = 5 + 3 * 4
num = 5 + 12
num = 17

Tuy nhiên ở biểu thức num2, do xuất hiện dấu ngoặc đơn nên toán tử bên trong dấu ngoặc đơn() sẽ được ưu tiến tính toán trước.

num2 = (5 + 3) * 4
num = 8 * 4
num = 32

Lại nữa, trong trường hợp biểu thức có nhiều dấu ngoặc đơn, thì sẽ ưu tiên thực hiện dấu ngoặc đơn bên trong trước.

num2 = (5 + (3-2)) * 4
num = (5 + 1) * 4
num = 6 * 4
num = 24

Tổng kết và thực hành

Trên đây Kiyoshi đã giải thích về thứ tự ưu tiên toán tử trong python rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành với các ví dụ sau đây.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về python trong các bài học tiếp theo nhé.

print("5 + 3 * 4 = " + str(5 + 3 * 4))
#>> 5 + 3 * 4 = 17

print("(5 + 3) * 4 = " + str((5 + 3) * 4))
#>> (5 + 3) * 4 = 32

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.