Toán tử số học theo thứ tự Python

Thứ tự ưu tiên của toán tử xác định thứ tự các thao tác được xử lý. Trong hướng dẫn này, bạn sẽ thực hiện một thủ thuật toán học bằng cách sử dụng dấu ngoặc đơn lồng nhau để kiểm soát mức độ ưu tiên của toán tử Python. Nếu bạn mới tham gia với chúng tôi, bạn có thể muốn bắt đầu với bài viết trước của chúng tôi, Toán tử Python là toán học

Ưu tiên toán tử Python

Bây giờ chúng ta quay lại câu chuyện đang tiếp diễn tại Bệnh viện Robot toàn cầu của Rossum. Egos bùng lên như Drs. Plus, Minus, Slash, Asterisk và Powers tranh luận ai là người có nhiều quyền nhất. Kháng cáo được gửi tới chủ tịch bệnh viện, ngoặc đơn. Giống như bất kỳ bệnh viện robot tốt nào, có một hệ thống phân cấp giữa các hoạt động

Xem điều gì sẽ xảy ra khi chúng ta chạy một biểu thức liên quan đến các toán tử hỗn hợp

>>> 1 + 2 * 3
7

Bạn có thể mong đợi nó bằng 9. Nhưng trình thông dịch Python không đọc hoặc xử lý toán tử từ trái sang phải như chúng ta. Thay vào đó, trình thông dịch Python xếp hạng các toán tử theo mức độ quan trọng và xử lý chúng theo một trình tự cụ thể. Đây được gọi là thứ tự của các hoạt động hoặc, tùy thuộc vào người bạn đang nói chuyện với, quyền ưu tiên của nhà điều hành. Trong ví dụ trên, phép nhân có mức độ ưu tiên cao hơn phép cộng, vì vậy 2 * 3 được xử lý trước, sau đó được cộng vào 1. Sử dụng dấu ngoặc đơn, chúng ta có thể buộc các toán tử có mức độ ưu tiên thấp hơn chạy trước

>>> [1 + 2] * 3
9

Hãy xem PEMDAS. Không, PEMDAS không phải là một dòng chữ trên biểu đồ mắt. Đó là một từ viết tắt để giúp bạn nhớ những toán tử nào đứng trước những toán tử khác. Chữ viết tắt là viết tắt của Dấu ngoặc đơn Phép nhân Phép chia Phép cộng Phép trừ. Bạn có thể ghi nhớ nó với “Xin thứ lỗi cho dì Susie thân mến của tôi”. Nhớ Susie chứ?

Biểu đồ sau phác thảo mức độ ưu tiên của toán tử

Chủ tịch ưu tiên cao nhất [] Dấu ngoặc đơn Dr. Lũy thừa**Lũy thừaDr. Dấu hoa thị*Nhân Dr. Slash/DivisionDr. Cộng+Thêm Ưu tiên thấp nhấtDr. Dấu trừ–Phép trừ

Trong phép ẩn dụ về bệnh viện rô-bốt của chúng ta, Chủ tịch Parentheses có quyền hạn cao nhất, tiếp theo là Tiến sĩ. Quyền hạn, Tiến sĩ. Dấu hoa thị, tiến sĩ. Chém, tiến sĩ. Ngoài ra, và cuối cùng, Tiến sĩ. Dấu trừ. Như bạn có thể thấy, nó trả tiền để nghĩ lớn. Dấu ngoặc đơn xác định thứ tự các hoạt động. Bất kỳ thao tác nào chứa trong dấu ngoặc đơn đều được thực hiện trước. Nhưng nó trở nên tốt hơn. Bạn có thể sử dụng dấu ngoặc đơn để lồng các phép toán trong các phép toán, giống như búp bê Matryoshka làm bằng Trăn

Dấu ngoặc đơn là toán học

Hãy cùng xem lại trò ảo thuật của chúng ta, lần này sử dụng quy tắc ưu tiên với dấu ngoặc đơn lồng nhau VÀ phép thuật của Python. Để chứng minh rằng nó hoạt động với bất kỳ số nào, tôi sẽ sử dụng số nguyên không may mắn 13. Bạn có thể sử dụng bất kỳ số nguyên dương nào bạn muốn. Bắt đầu xây dựng câu lệnh của bạn trên lời nhắc Python của bạn, nhưng đừng nhấn quay lại cho đến khi tôi nói như vậy

Bước đầu tiên trong trò ảo thuật của chúng ta là cộng 5. Chúng tôi muốn điều đó xảy ra trước, vì vậy hãy đặt nó trong ngoặc đơn, như thế này

>>>[ 13 + 5 ]

Tiếp theo ta nhân kết quả đó với 2. Kết thúc câu lệnh đầu tiên của chúng ta trong một cặp dấu ngoặc đơn khác với *2 ẩn bên trong

>>>[ [ 13 + 5 ] * 2]

Bây giờ chúng ta cần trừ 4. Bọc nó trong một bộ dấu ngoặc đơn khác có chứa biểu thức '-4'

>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]

Bộ dấu ngoặc đơn cuối cùng của chúng ta cần chia kết quả hiện tại cho 2

>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]

Cuối cùng, chúng tôi trừ số ban đầu của chúng tôi. Không cần thiết phải đặt nó trong dấu ngoặc đơn vì đây sẽ là thao tác cuối cùng được thực hiện

Một số toán tử có quyền ưu tiên cao hơn những toán tử khác;

Trong một biểu thức, các toán tử có mức độ ưu tiên cao hơn sẽ được đánh giá trước

Toán tử -then- Mô tả

  1. ** Luỹ thừa [nâng lũy ​​thừa]
  2. ~ + - Ccomplement, cộng và trừ một ngôi [tên phương thức cho hai phần cuối là [email được bảo vệ] và [email được bảo vệ]]
  3. / % // Nhân, chia, modulo và chia sàn
  4. = Toán tử so sánh

  5. ==. = Toán tử bình đẳng
  6. = %= /= //= -= += = *= Toán tử gán
  7. không phải là Toán tử danh tính
  8. trong không phải trong Toán tử thành viên
  9. không hoặc và Toán tử logic

Tôi lấy cái này từ một trang web tôi sử dụng khi Bài học của Codecademy thiếu hướng dẫn. Hướng dẫn lập trình Python

Thứ tự của các phép tính số học trong Python là gì?

Python sẽ luôn đánh giá các toán tử số học trước [** là cao nhất, sau đó là phép nhân/chia, rồi cộng/trừ] . Tiếp đến là các toán tử quan hệ. Cuối cùng, các toán tử logic được thực hiện lần cuối.

Thứ tự ưu tiên của các toán tử số học là gì?

Ở Hoa Kỳ và Pháp, từ viết tắt PEMDAS là phổ biến. Nó là viết tắt của Dấu ngoặc đơn, Số mũ, Nhân/Chia, Cộng/Trừ . PEMDAS thường được mở rộng thành bài học dễ nhớ "Xin thứ lỗi cho dì Sally thân mến của tôi" trong trường học.

7 toán tử số học trong Python là gì?

Có 7 toán tử số học trong Python. .
Phép cộng
phép trừ
Phép nhân
Phân công
mô đun
lũy thừa
Phân chia tầng

Toán tử số học nào có độ ưu tiên cao nhất trong Python?

Python tuân theo các quy tắc ưu tiên giống như toán học đối với các toán tử toán học của nó. Dấu ngoặc đơn có quyền ưu tiên cao nhất và có thể được sử dụng để buộc một biểu thức đánh giá theo thứ tự bạn muốn. Vì các biểu thức trong ngoặc đơn được đánh giá trước, nên 2 * [3-1] là 4 và [1+1]**[5-2] là 8.

Chủ Đề