为什么空列表== False不是True

时间:2019-06-23 15:15:54

标签: python python-3.x

我知道我不应该将列表引用与TrueFalse进行比较,但是请允许我使用以下代码段:

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后面会发生什么?

更新:

根据python's documentation

  

默认情况下,除非对象的类定义   返回False的 bool ()方法或 len ()方法   返回零”,这是考虑的大多数内置对象   错误:

     
      
  • 空序列和集合:'',(),[],{},set(),范围(0)
  •   

没有提到being considered false不等于== False

0 个答案:

没有答案