In python 2.6.5, an instance of dbm does not have a __nonzero__ or a __len__ method, so why does it evaluate false as a boolean?
>>> a = dbm.open( 'foo', 'c' ) >>> if a: print 'true' ... >>>
According to the python documentation one of the types of values that is considered false is
any empty mapping, for example, {}.
{}
Since a dbm object is a mapping and a new instance is empty, it is therefore false.
dbm
According to the python documentation one of the types of values that is considered false is
Since a
dbm
object is a mapping and a new instance is empty, it is therefore false.