为什么bool评估空PriorityQueue True?

时间:2017-01-25 20:36:08

标签: python queue priority-queue

为什么没有一个空的PriorityQueue像Python中的其他迭代一样评估False

>>> from queue import PriorityQueue
>>> q1 = PriorityQueue()
>>> bool(q1)
True
>>> q1.qsize()
0

1 个答案:

答案 0 :(得分:1)

正如您从the source code所看到的那样,PriorityQueue类并未实现__len____bool__,默认情况下,如果某个对象存在,则&{3}} #39; s truthy:

  

如果某个类既未定义__len__()也未定义__bool__(),则其全部定义   实例被认为是真实的。