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. 布爾運算符的位運算符
- 3. 布爾運算VS位運算符
- 4. matlab布爾運算符
- 5. SQL Server布爾運算符
- 6. 布爾運算符問題
- 7. 與布爾運算符
- 8. 布爾賦值運算符
- 9. Thymeleaf - 布爾運算符
- 10. 與布爾運算符
- 11. 布爾賦值運算符
- 12. 與布爾運算符
- 13. 布爾運算符鍛鍊
- 14. 計數布爾運算符
- 15. 三元運算符爲布爾型Cast
- 16. 標準SQL布爾運算符IS與等於(=)運算符
- 17. 布爾運算符和邏輯運算符
- 18. 布爾運算符和雙運算符重載
- 19. = vs ===布爾表達式的運算符
- 20. 蟒3.5使用布爾運算符
- 21. Python的布爾和邏輯運算符
- 22. Python中的布爾運算符
- 23. 布爾運算符(和,或)用Clojure
- 24. Python的就地布爾運算符
- 25. 布爾運算符優先級
- 26. KQL中的布爾運算符
- 27. 尾遞歸和布爾運算符
- 28. 布爾運算符和括號
- 29. 的Python 2.7布爾運算符邏輯
- 30. 布爾運算符在Less中搜索?
這個問題還沒有被問到。在Python中引用NOT AND&OR優先級的問題並不涉及這裏發生的短路評估。 –