Hướng dẫn does python do multiplication first? - python có làm phép nhân trước không?

PEMDASP, E, MD, AS; Sự nhân và phân chia có cùng mức độ ưu tiên, và tương tự cho việc bổ sung và trừ. Khi một nhà điều hành phân chia xuất hiện trước khi nhân, bộ phận đi trước.

Các toán tử python thứ tự được thực thi trong được điều chỉnh bởi sự ưu tiên của nhà điều hành và tuân theo các quy tắc tương tự. Các nhà khai thác có mức độ ưu tiên cao hơn được thực hiện trước những người có ưu tiên thấp hơn, nhưng các nhà khai thác có ưu tiên phù hợp khi họ ở trong cùng một nhóm.

Đối với 10-7//2*3+1, bạn có 2 lớp toán tử, từ thấp nhất đến Higest:

  • >>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
    0 [tương quan với AS == Bổ sung và trừ]
  • >>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
    2 [tương quan với MD, vì vậy nhân và chia].

Vì vậy,

>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
4 và
>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
5 được thực hiện trước; Sự nhân và phân chia rơi trong cùng một nhóm, không phải là một thứ tự đã đặt ở đây [MD không có nghĩa là phép nhân xuất hiện trước khi chia]:

10 - [[7 // 2] * 3] + 1

Vì vậy,

>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
7 được thực thi trước, theo sau là phép nhân bằng 3. Sau đó, bạn nhận được phép trừ từ mười và thêm một ở cuối.

Chúng tôi đã đưa ra một vấn đề không ảnh hưởng đến trường hợp cụ thể của bạn, nhưng rất quan trọng để viết các chương trình Python thực sự. PEMDA không thực sự về thứ tự hoạt động; Nó không quyết định những thứ đặt hàng được đánh giá. Đó thực sự là về nhóm đối số. PEMDA nói rằng

>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
8 được đánh giá là
>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
9, nhưng nó không cho biết liệu
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
0 hay
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
1 được đánh giá trước.

Trong toán học, không quan trọng những gì bạn đánh giá trước, miễn là bạn tôn trọng nhóm đối số. Trong Python, nếu bạn đã đánh giá

>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
2 và
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
3 đầu tiên trong
>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
4 chỉ vì chúng ở ngoặc đơn, bạn có thể nhận được một kết quả hoàn toàn khác, bởi vì các chức năng Python có thể có tác dụng phụ.

Đánh giá biểu hiện Python chủ yếu hoạt động từ trái sang phải. Ví dụ, trong

>>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
5, thứ tự đánh giá diễn ra như sau:

  • >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
    6
  • >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
    2
  • >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
    8 đầu tiên, bây giờ các đối số của nó đã sẵn sàng
  • >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
    3
  • >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2] - 13
    0
  • >>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
    5, bây giờ các đối số của nó đã sẵn sàng
  • >>>[ [ [ [ 13 + 5 ] * 2 ] - 4 ] / 2]
    8 thứ hai, bây giờ các đối số của nó đã sẵn sàng

Điều này mặc dù có mức độ ưu tiên cao của

>>>[ [ [ 13 + 5 ] * 2 ] - 4 ]
5 và dấu ngoặc đơn xung quanh phép nhân.

0 điểm

hơn 9 năm

Một số nhà khai thác có ưu tiên cao hơn những người khác; Ví dụ, toán tử nhân có mức độ ưu tiên cao hơn toán tử bổ sung, do đó, nhân lên trước khi thêm.

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

Nhà điều hành -so với mô tả

  1. ** Số mũ [nâng lên sức mạnh]
  2. ~ + - ccomplement, unary plus và minus [tên phương thức cho hai người cuối cùng là [email & nbsp; được bảo vệ] và [email & nbsp; được bảo vệ]]
  3. / % // nhân, chia, modulo và phân chia sàn
    • Cộng và trừ

Bài Viết Liên Quan

Chủ Đề