簡體   English   中英

運算符優先級在 % 和 // 之間如何工作?

[英]How operator precedence works between % and //?

5 % 4 // 6 % 3    

o/p 為 0,但根據運算符優先級,它應該引發 ZeroDivisionError,因為它應該被解釋為

5 % 0 % 3 

導致錯誤

有人可以詳細說明運算符優先級如何在這里工作嗎?

5 % 4 // 6 % 3 

只是從左到右評估所以

5%4 = 1
1//6 = 0
0%3 = 0

它們都處於相同的優先級https://docs.python.org/3/reference/expressions.html#operator-precedence

它從左到右。 如果您將代碼更改為:

(5 % 4) // (6 % 3)

它引發了ZeroDivisionError ,因為括號優先。 如果你不放括號,它只是從左到右。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM