Hướng dẫn arithmetic operators in python order - toán tử số học theo thứ tự python
Các toán tử số học được ưu tiên hơn các toán tử logic. Python sẽ luôn đánh giá các toán tử số học trước tiên (** cao nhất, sau đó nhân/chia, sau đó bổ sung/trừ). Tiếp đến là các nhà khai thác quan hệ. Cuối cùng, các toán tử logic được thực hiện cuối cùng. Điều này có nghĩa là biểu thức Show Bảng sau đây tóm tắt các toán tử ưu tiên từ cao nhất đến thấp nhất. Một bảng hoàn chỉnh cho toàn bộ ngôn ngữ có thể được tìm thấy trong tài liệu Python.
và hoặc Ghi chú Không gian làm việc này được cung cấp cho sự thuận tiện của bạn. Bạn có thể sử dụng cửa sổ ActiveCode này để thử bất cứ thứ gì bạn thích. Lỗi phổ biến! Học sinh thường kết hợp không chính xác các nhà khai thác trong và hoặc người vận hành. Ví dụ: nếu họ muốn kiểm tra xem chữ X có nằm trong một trong hai biến thì họ có xu hướng viết nó theo cách sau không: Được viết theo cách này, mã không phải lúc nào cũng làm những gì mà lập trình viên dự định. Điều này là do toán tử 6 chỉ ở phía bên trái của câu lệnh OR. Nó không được thực hiện ở cả hai phía của tuyên bố. Để kiểm tra đúng X rằng X bên trong một trong hai biến, toán tử trong phải được sử dụng ở cả hai phía trông như thế này:((5*3)> (10 và (4+6))) == 11 Nhóm này giả định rằng "và" có quyền ưu tiên cao hơn ==, điều này không đúng. Đây là một hình ảnh động cho biểu thức trên: of activities on this page Ưu tiên của các nhà khai thác PythonSự kết hợp của các giá trị, biến, toán tử và các cuộc gọi chức năng được gọi là một biểu thức. Trình thông dịch Python có thể đánh giá một biểu thức hợp lệ. Ví dụ:
Ở đây 7 là một biểu thức. Có thể có nhiều hơn một toán tử trong một biểu thức.Để đánh giá các loại biểu thức này, có một quy tắc ưu tiên trong Python. Nó hướng dẫn thứ tự thực hiện các hoạt động này. Ví dụ, phép nhân có ưu tiên cao hơn phép trừ.
Nhưng chúng ta có thể thay đổi thứ tự này bằng cách sử dụng dấu ngoặc đơn 8 vì nó có ưu tiên cao hơn phép nhân.
Các nhà điều hành được ưu tiên trong Python được liệt kê trong bảng sau. Đó là theo thứ tự giảm dần (nhóm trên có ưu tiên cao hơn so với nhóm thấp hơn).
Hãy xem xét một số ví dụ: Giả sử chúng ta đang xây dựng một khối Lunch being delivered8 chạy Lunch being delivered9 khi bữa trưa là trái cây hoặc bánh sandwich và chỉ khi tiền nhiều hơn hoặc bằng 2.
Đầu ra Lunch being delivered Chương trình này chạy khối Lunch being delivered9 ngay cả khi tiền là 0. Nó không cung cấp cho chúng tôi đầu ra mong muốn vì mức độ ưu tiên của Lunch being delivered6 cao hơn Lunch being delivered7. Chúng ta có thể nhận được đầu ra mong muốn bằng cách sử dụng dấu ngoặc đơn 8 theo cách sau:
Đầu ra Can't deliver lunch Sự kết hợp của các nhà khai thác PythonChúng ta có thể thấy trong bảng trên rằng nhiều hơn một toán tử tồn tại trong cùng một nhóm. Các nhà khai thác này có cùng mức độ ưu tiên. Khi hai toán tử có cùng mức độ ưu tiên, sự kết hợp giúp xác định thứ tự hoạt động. Sự kết hợp là thứ tự trong đó một biểu thức được đánh giá có nhiều toán tử có cùng mức độ ưu tiên. Hầu như tất cả các nhà khai thác đều có sự kết hợp từ trái sang phải. Ví dụ, phép nhân và phân chia sàn có cùng ưu tiên. Do đó, nếu cả hai đều có mặt trong một biểu thức, cái bên trái được đánh giá trước.
Đầu ra 3 0 Lưu ý: Toán tử số mũ 0 has right-to-left associativity in Python.
Chúng ta có thể thấy rằng 5 tương đương với 6.Các nhà khai thác không liên kếtMột số nhà khai thác như toán tử chuyển nhượng và toán tử so sánh không có tính kết hợp trong Python. Có các quy tắc riêng cho các chuỗi của loại toán tử này và không thể được thể hiện là sự kết hợp. Ví dụ, 7 không có nghĩa là 8 cũng như 9. 7 tương đương với Can't deliver lunch1 và được đánh giá từ từ trái sang phải. Hơn nữa, trong khi chuỗi các bài tập như Can't deliver lunch2 hoàn toàn hợp lệ, Can't deliver lunch3 sẽ dẫn đến lỗi. 0Đầu ra 1
Thứ tự của các hoạt động số học trong Python là gì?Python sẽ luôn đánh giá các toán tử số học trước tiên (** cao nhất, sau đó nhân/chia, sau đó bổ sung/trừ).Tiếp đến là các nhà khai thác quan hệ.Cuối cùng, các toán tử logic được thực hiện cuối cùng.first (** is highest, then multiplication/division, then addition/subtraction). Next comes the relational operators. Finally, the logical operators are done last.
Thứ tự của người vận hành ưu tiên trong Python là gì?Nhân hóa và cả hai toán tử phân chia có cùng mức độ ưu tiên, cao hơn so với cộng và trừ, cũng có cùng mức độ ưu tiên.Vì vậy, 2*3-1 mang lại 5 thay vì 4 và 5-2*2 là 1, không phải 6. Các toán tử có cùng mức độ được đánh giá từ trái sang phải., which is higher than addition and subtraction, which also have the same precedence. So 2*3-1 yields 5 rather than 4, and 5-2*2 is 1, not 6. Operators with the same precedence are evaluated from left-to-right.
7 toán tử số học trong Python là gì?Có 7 toán tử số học trong Python:.. Addition.. Subtraction.. Multiplication.. Division.. Modulus.. Exponentiation.. Phân chia sàn .. Những người vận hành số học theo thứ tự nào?Chúng ta có thể nhớ thứ tự bằng cách sử dụng PEMDAs: dấu ngoặc đơn, số mũ, nhân và chia (từ trái sang phải), cộng và trừ (từ trái sang phải).Parentheses, Exponents, Multiplication and Division (from left to right), Addition and Subtraction (from left to right). |