patrz punkt 5.1:
http://docs.python.org/library/stdtypes.html
Każdy obiekt może być testowany na wartość prawdy, do stosowania w if lub gdy stan lub jako operand operacji logicznych poniżej. Poniższe wartości uznaje fałszywa
None
False
zero dowolnego typu liczbowa, na przykład 0
, 0L
, 0.0
, 0j
.
dowolna pusta sekwencja, na przykład ''
, ()
, []
.
każde puste odwzorowanie, na przykład {}
.
wystąpień zdefiniowanych przez użytkownika klas, jeśli klasa definiuje metodę __nonzero__()
lub __len__()
, gdy ta metoda zwraca liczbę całkowitą zero lub wartość boolową False
. [1]
Wszystkie inne wartości są uważane za prawdziwe - więc obiekty wielu typów są zawsze prawdziwe.
Operacje i wbudowane funkcje, które mają logiczny wynik zawsze powrócić 0
lub False
za fałszywe i 1
lub True
za prawdziwe, o ile nie zaznaczono inaczej. (Ważny wyjątek: operacji logicznych or
i and
zawsze zwraca jeden z ich argumentami.)
Dlaczego pytasz? –