Thứ Bảy, 11 tháng 5, 2024

17. Thứ tự ưu tiên của các toán tử trong Python

Độ ưu tiên của toán tử mô tả thứ tự thực hiện các phép toán. Điều này thật sự rất quan trọng. Đây là một ví dụ:


Theo bạn kết quả sẽ là bao nhiêu: 100 + 5 * 3 = ?

100+ 5 = 105; sau đó lấy 105 * 3 = 315?
5*3 = 15; sau đó 100 + 15 = 115?

Rõ ràng thứ tự thực hiện các phép toán sẽ làm thay đổi kết quả.
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 notCác toán tử Identity
in not inCác toán tử Membership
not or andCác toán tử logic

 

Quay lại với câu hỏi  100 + 5 * 3 = ? 

Nhìn vào bảng trên, ta sẽ thấy phép nhân (*) cần thực hiện trước phép cộng (+), vì vậy cánh tính đúng sẽ là  5*3 = 15; sau đó 100 + 15 = 115. Kết quả đúng là 115.

Sử dụng IDE Online, chúng ta sẽ kiểm chứng lại:

Đây là code

print(100 + 5 * 3) 

Bấm Run để chạy chương trình


Một ví dụ khác

print(5 + 4 - 7 + 3)

Bấm Run để chạy chương trình


Phép cộng (+) và trừ (-) có cùng độ ưu tiên nên ta cần tính từ Trái qua Phải.

5+4= 9

9-7 =2

2+3 =5


Phần tiếp theo


Phần trước






Không có nhận xét nào:

Đăng nhận xét