-1
A
回答
1
的or
運營商作爲一個函數的想:
or(x, y):
if x:
return x
else:
return y
然後a = 0 or ""
將是一樣a = or(0, "")
。由於0
的計算結果爲False
,因此將返回""
。現在
,a = 0 or "" or None or 2
基本上是
a = or(or(or(0, ""), None) 2)
最裏面or
將返回""
,下一個會意識到""
仍然計算結果爲假,返回None
,和最外層會終於迴歸2
。
相關問題
- 1. 鏈接變量賦值如何在SQL中工作?
- 2. 變量賦值「x,= 1,2」在Ruby中如何工作?
- 3. 變量賦值工作不正常
- 4. 變量賦值getElementById,不工作
- 5. 將值賦給工作流變量
- 6. 在smarty中賦值變量?
- 7. 爲什麼變量賦值在列表中像這樣工作?
- 8. 賦值給變量不能在VBA中工作
- 9. 變量賦值
- 10. 如何給WebService中的變量賦值?
- 11. 如何爲JQUERY中的變量賦值
- 12. 如何爲CLPFD中的變量賦值?
- 13. 如何爲MATLAB中的變量賦值?
- 14. 如何在yii中使用CJavascriptExpression將變量賦值給變量
- 15. 如何爲DB變量賦值DB值?
- 16. Stylus中的變量賦值
- 17. jQuery中的變量賦值
- 18. BASH中的變量賦值
- 19. python中的變量賦值
- 20. KornShell中的變量賦值
- 21. Elixir中的變量賦值
- 22. JavaScript中的變量賦值
- 23. 變量賦值在AngularJS
- 24. 的Makefile:在變量賦值
- 25. 在賦值的變量
- 26. Jquery:變量賦值
- 27. JavaScript變量賦值
- 28. 爲變量賦值
- 29. Python變量賦值
- 30. CSS變量賦值
對解釋器進行一些實驗,您可以快速確定它的工作原理。 – ChrisP
在這兩種情況下,它都會返回遇到並返回的第一個「非錯誤」值。在第一種情況下,0,空字符串和None都基本上等於false,所以2是答案。在第二種情況下,它遇到2,它不等於false,並在檢查剩餘的值之前返回。非常簡單。文檔在這裏:http://docs.python.org/release/2.5.2/lib/boolean.html –