我知道我不应该将列表引用与True
或False
进行比较,但是请允许我使用以下代码段:
x = []
bool(x) # prints False
if x == False: # I know I should use `if not x`
print('x == False') # prints nothing
我认为x == False
等同于bool(x) == False
。显然并非如此。 x == False
后面会发生什么?
默认情况下,除非对象的类定义 返回False的 bool ()方法或 len ()方法 返回零”,这是考虑的大多数内置对象 错误:
- 空序列和集合:'',(),[],{},set(),范围(0)
没有提到being considered false
不等于== False