>>> if '' is not None: ... print'23333' ... 23333
我認爲(不是無)是真和('')是假的,爲什麼它運行打印?爲什麼這如果在Python中返回True
0
A
回答
4
is
和is not
測試對象的身份,即是檢驗''
和None
是同一個對象,他們都沒有,所以測試你的情況返回True
。
運營商
is
和is not
測試對象標識:x is y
是真 當且僅當x和y是相同的對象。x is not y
產生 逆真值。
換一種方式,雖然''
和None
具有相同的"truthiness",那就是他們都計算爲False
如果你bool(None)
或bool('')
,他們對不指向同一個對象。
2
is not
是一個單個運算符,等於is
的否定。由於'' is None
爲假,因此'' is not None
爲真。
但由於is
測試身份,不等於,'' is (not None)
仍然不會做你想做的。
+0
真誠的感謝,我明白了 – admin
相關問題
- 1. 爲什麼這個條件返回true?
- 2. 爲什麼這個jQuery返回true?
- 3. 爲什麼這個函數返回true?
- 4. 爲什麼在ActionMode中isItemChecked()返回true?
- 5. 爲什麼==返回true?
- 6. 爲什麼它返回true?
- 7. 爲什麼hasOwnProperty返回true
- 8. 爲什麼這個python-2.7測試用例返回True?
- 9. 爲什麼這個python函數返回true?
- 10. 爲什麼(true && 1)返回1,但(1 && true)返回true?
- 11. 爲什麼lua string.find在這個測試用例中返回true?
- 12. Python:爲什麼isinstance返回False,何時應該返回True?
- 13. 爲什麼20130708 <「」在Python中返回true?
- 14. SecurityElement.IsValidText在「&」上返回true ...爲什麼?
- 15. 爲什麼console.log(true && undefined)返回undefined而if(true && undefined)返回false?
- 16. 爲什麼(true> null)在JavaScript中總是返回true?
- 17. 爲什麼QCOMPARE在這種情況下返回True?
- 18. 爲什麼String.contains()在這種情況下返回true?
- 19. 爲什麼is.vector()爲列表返回TRUE?
- 20. 爲什麼Python中的逗號符號返回true?
- 21. 如果「any」返回true,則取值python
- 22. 爪哇 - 拳擊整數 - 爲什麼它返回true,如果應該返回false
- 23. 爲什麼這兩個python函數返回不同的結果?
- 24. 爲什麼test.regex總是返回true?
- 25. 。爲什麼.valid()總是返回TRUE?
- 26. 爲什麼is_numeric(NAN)返回TRUE?
- 27. 爲什麼方法.hasNext()返回true?
- 28. 爲什麼all.equal(1,2,3)返回TRUE
- 29. 爲什麼NaN =!NaN返回true?
- 30. 爲什麼sameElements對集合返回true?
您正在檢查''''與'None'不是同一個對象,它們不是同一個對象,因此檢查返回True,因此情況發生。 –
'不是'是正在發生的完整運營商,嘗試運行'if''(不是無)' –