문제

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top