В python 2.6.5 экземпляр dbm не имеет методов __nonzero__ или __len__, так почему же он оценивает false как логическое значение?
>>> a = dbm.open( 'foo', 'c' ) >>> if a: print 'true' ... >>>
В python 2.6.5 экземпляр dbm не имеет методов __nonzero__ или __len__, так почему же он оценивает false как логическое значение?
>>> a = dbm.open( 'foo', 'c' ) >>> if a: print 'true' ... >>>
Согласно документации по Python, один из типов значений, считается ложным
любое пустое отображение, например,
{}
.
Поскольку объект dbm
является отображением, а новый экземпляр пуст, следовательно, он ложен.