Hướng dẫn what is the correct order of precedence of operators and expressions in python? - thứ tự ưu tiên đúng của toán tử và biểu thức trong python là gì?
Ư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ệ. Show
Ví dụ:
Ở đây 2 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 3 vì nó có ưu tiên cao hơn so với 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 delivered3 chạy Lunch being delivered4 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 delivered4 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 delivered1 cao hơn Lunch being delivered2. 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 3 theo cách sau:
Đầu ra Can't deliver lunch Chương trình này chạy khối Lunch being delivered4 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 delivered1 cao hơn Lunch being delivered2.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 3 theo cách sau:Sự kết hợp của các nhà khai thác Python Chú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.
Đầu ra 3 0 Chương trình này chạy khối 5 has right-to-left associativity in Python.
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 3 theo cách sau: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. 0Đầu ra 1
Thứ tự chính xác của toán tử được ưu tiên trong Python là gì?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.Lưu ý: Toán tử số mũ ** có tính kết hợp từ phải sang trái trong Python.left-to-right associativity. For example, multiplication and floor division have the same precedence. Hence, if both of them are present in an expression, the left one is evaluated first. Note: Exponent operator ** has right-to-left associativity in Python.
Thứ tự chính xác của người vận hành ưu tiên là gì?Toán tử logic và logic (&&) có ưu tiên cao hơn toán tử logic-or (||), vì vậy Q && r được nhóm thành một toán hạng.Vì các toán tử logic đảm bảo đánh giá các toán hạng từ trái sang phải, Q && r được đánh giá trước S--., so q && r is grouped as an operand. Since the logical operators guarantee evaluation of operands from left to right, q && r is evaluated before s-- . |