
Logické výrazy v Pythonu

Logické výrazy Python vyhodnocuje na hodnoty True (pravda) a False (nepravda). Přesný zápis těchto konstant bývá zdrojem chyb:
- Velké písmeno je důležité:
True je logická konstanta (pravda), kdežto true je název proměnné (která může držet libovolnou hodnotu).
"True" a "False" (tj. názvy logických konstant psány v uvozovkách) jsou obyčejné řetězce, nikoliv konstanty se speciálním významem.
Operátory porovnání
Základním logickým výrazem je porovnání mezi dvěma výrazy (např. porovnání hodnoty proměnné a konstanty). Operátory větší/menší zapisujeme podobně jako v matematice (> a <), „větší/menší nebo rovno“ zapisujeme >= a <=. Test na rovnost provádíme pomocí dvou rovnítek (==). Test na nerovnost zapisujeme !=.
Příklady:
Pozor na rozdíl mezi přiřazením do proměnné (jedno rovnítko) a testem na rovnost (dvě rovnítka).
Varování: operátor is
Python obsahuje i další pokročilejší operátory. Mezi záludné patří is, které se zdánlivě chová podobně jako == a jeho použití bývá zdrojem chyb. Operátor is je užitečný nástroj pro pokročilé programátory, začátečníkům silně doporučujeme se mu vyhnout.
Logické spojky
Základní logické výrazy můžeme kombinovat pomocí klasických logických spojek:
not = negace
and = a zároveň (konjunkce) = výsledek je True, pokud jsou oba dva argumenty True
or = nebo (disjunkce) = výsledek je True, pokud je alespoň jeden z argumentů True
Pro procvičení významu spojek využijte cvičení Binární křížovka.
Zajímavost: logické spojky v jiných jazycích
V některých programovacích jazycích se logické spojky zapisují pomocí symbolů &, |, !. Na tyto symboly můžete v Pythonu také narazit (např. u množinových operací), ale pro logické spojky se nepoužívají, ty se v Pythonu píší anglickými názvy and, or, not.
Priority logický spojek
Priority operátorů jsou sestupně: not, and, or (tj. nejvyšší prioritu má not). Pro změnu priority či větší čitelnost výrazů můžeme využít závorky.
Zavřít