为什么没有一个空的PriorityQueue像Python中的其他迭代一样评估False
?
>>> from queue import PriorityQueue
>>> q1 = PriorityQueue()
>>> bool(q1)
True
>>> q1.qsize()
0
答案 0 :(得分:1)
正如您从the source code所看到的那样,PriorityQueue
类并未实现__len__
或__bool__
,默认情况下,如果某个对象存在,则&{3}} #39; s truthy:
如果某个类既未定义
__len__()
也未定义__bool__()
,则其全部定义 实例被认为是真实的。