Typ bool

https://docs.python.org/3/library/constants.html

https://docs.python.org/3/library/functions.html#bool

WPROWADZENIE

Typ logiczny 'bool' to dwie stałe: 'True' (dawniej równe 1) i 'False' (dawniej równe 0). 'True' i 'False' pojawiły się w Py2.3. Jednak ogólnie w Pythonie jako fausz logiczny traktuje się:

Wszystko inne jest prawdą logiczną.

Operatory 'and' i 'or' zwracają wartość ostatnio obliczonego wyrażenia.

Wartości logiczne zwracane przez operatory porównania, operator zawierania ('in') oraz operator negacji ('not') reprezentowane są przez obiekty 'True' i 'False'.

Operatory porównania można łączyć tak jak w zapisie matematycznym. Priorytety operatorów od najwyższego: not, and, or.
Przykładowo (A or not B and C)
jest równoważne (A or ((not B) and C)).
Dla pewności można jednak stosować nawiasy.

Wyrażenia logiczne są obliczane od lewej do prawej (tak jak w języku C), czyli jeżeli wiadomo jaki będzie rezultat, to nie są sprawdzane do końca wszystkie segmenty wyrażenia, np.

Trzeba pamiętać, że wyrażenie Anything może być samo w sobie niepoprawne, np. odwołanie się poza obszar listy.

Operatory porównań: a < b, a <= b, a > b, a >= b, a == b, a <> b [Py2], a != b.

Testy identyczności: a is b [id(a) == id(b)], a is not b [id(a) != id(b)]. Operatory 'is' i 'is not' mogą być stosowane do dowolnych obiektów i nigdy nie wywołują wyjątków.

Zawieranie się w sekwencji lub kolekcji: a in S, a not in S. Te operacje są wspierane dla typów, które są iterowalne lub mają zaimplementowaną metodę '__contains__()'.

Sekwencje w Pythonie są porównywane leksykograficznie. Dozwolone jest porównywanie obiektów różnych typów (tylko Py2), ale rezultaty mogą zależeć od wersji języka.

ŁĄCZENIE PORÓWNAŃ W ŁAŃCUCHY

Dokumentacja Pythona określa osiem operacji porównywania: a < b, a <= b, a > b, a >= b, a == b, a != b, a is b, a is not b. Operacje porównywania mogą być dowolnie łączone w łańcuchy:
(a < b <= c) oznacza (a < b) and (b <= c), ale b będzie obliczone tylko raz;
(a is b is c is d) oznacza (a is b) and (b is c) and (c is d).