我不明白如何Ellipsis
和None
通過bool()
不同的處理,當兩個似乎是相同的真理測試的相關屬性方面。Python的布爾(省略號)和布爾(無)
>>> bool(Ellipsis)
True
>>> bool(None)
False
>>> any([hasattr(Ellipsis, attr) for attr in ['__len__', '__bool__', '__nonzero__']])
False
>>> any([hasattr(None, attr) for attr in ['__len__', '__bool__', '__nonzero__']])
False
有別的我失蹤它用於真相測試?
是否有任何其他物品(
None
除外)評估爲False
既不實施__len__
或__nonzero__
?
+1遵守歐比旺的永恆格言:「閱讀來源,盧克」。另請參見[關於真值測試的Python文檔](http://docs.python.org/py3k/library/stdtypes.html#truth-value-testing) – srgerg 2012-01-04 01:02:49
@wim我的本地機器上有Python源代碼所以我只是通過搜索。我沒有使用ipython,所以我不知道它是否可以搜索C源代碼。 – yak 2012-01-04 01:16:11
@srgerg謝謝。我已經添加了答案的鏈接。 – yak 2012-01-04 01:17:11