2

在 python 2.6.5 中,dbm 的实例没有 __nonzero__ 或 __len__ 方法,那么为什么它会将 false 评估为布尔值?

>>> a = dbm.open('foo', 'c')
>>> if a: 打印 'true'
...
>>>
4

1 回答 1

4

根据python文档,被认为是错误的值类型之一是

任何空映射,例如{}.

由于一个dbm对象是一个映射并且一个新实例是空的,因此它是假的。

于 2012-01-30T22:58:33.097 回答