Độ ư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 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 |
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
Không có nhận xét nào:
Đăng nhận xét