2

Python 2.6.5 では、dbm のインスタンスに __nonzero__ または __len__ メソッドがないのに、なぜ false をブール値として評価するのですか?

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

1 に答える 1

4

Pythonのドキュメントによると、falseと見なされる値のタイプの1つは

などの空のマッピング{}

オブジェクトはdbmマッピングであり、新しいインスタンスは空であるため、false です。

于 2012-01-30T22:58:33.097 に答える