Q
爲布爾運算符
2
A
回答
1
Python短路評估。在你的榜樣,在第一1
表達
1 or (1/0) and 1
完成評估,並返回True
。
一個更簡單的例子可以說明Python的短路評估。考慮表達式:
(1/0) or 1
這就提出了在中(1/0)
評價ZeroDivisionError
例外。但是表達式:
1 or (1/0)
短路評估爲True
。因爲子表達式(1/0)
從來沒有得到評估,所以沒有例外。
2
b or anything_else
定義爲返回b如果b爲true-ish,則不計算anything_else。由於你的第一個1是真實的,你的1/0永遠不會被評估,因此沒有錯誤。通過「true-ish」,我的意思是任何Python認爲是真的值,不僅是True
布爾值。用True或[2]代替第一個1來表達我的意思。
+0
可以鏈接到包含此信息的官方文檔? –
+0
對於Python 2:https://docs.python.org/2/reference/expressions.html#boolean-operations –
相關問題
- 1. 布爾運算符++
- 2. 布爾運算VS位運算符
- 3. matlab布爾運算符
- 4. 與布爾運算符
- 5. 計數布爾運算符
- 6. 與布爾運算符
- 7. 布爾運算符鍛鍊
- 8. 標準SQL布爾運算符IS與等於(=)運算符
- 9. 尾遞歸和布爾運算符
- 10. 奇怪的Python的布爾運算符
- 11. 布爾運算符(和,或)用Clojure
- 12. 蟒3.5使用布爾運算符
- 13. Python的就地布爾運算符
- 14. = vs ===布爾表達式的運算符
- 15. RxJava結合布爾運算符
- 16. 布爾運算符在switch語句中?
- 17. 與布爾運算符擴展EvalMath
- 18. MySQL中的布爾運算符
- 19. 布爾運算符在Less中搜索?
- 20. 布爾運算符和括號
- 21. Python的布爾和邏輯運算符
- 22. 正確的布爾定義爲不可爲空的運算符
- 23. CUDA上的布爾運算
- 24. 紅寶石布爾運算符優先級,不同的行爲
- 25. bool與非布爾運算符的行爲
- 26. 單元減號運算符在C++中如何處理布爾運算符?
- 27. 布爾運算在Slick on tagged布爾類型
- 28. 比較運算:布爾在SQL Server 2005
- 29. 布爾查詢和OR運算
- 30. 按位運算的結果和布爾
這個問題還沒有被問到。在Python中引用NOT AND&OR優先級的問題並不涉及這裏發生的短路評估。 –