Rozdział 9 · Słuchaj mojego rozkazu!

Więcej niż jeden warunek! :O

and, or i not razem stanowią priorytet operatorów oraz tłumaczenia ludzkiej frazy na stan Python-.

Rozmontowaliśmy and, or oraz not osobno — teraz połączymy je razem i przeanalizujemy, jak Python rozumie bardziej skomplikowane warunki.

logicheskie_operatory.py
age = 20
has_ticket = True

if age >= 18 and has_ticket:
    print(„Proszę wejść do sali.”)

is_weekend = False
is_holiday = True
if is_weekend or is_holiday:
    print(„Nie musisz dziś iść do pracy.”)

if not has_ticket:
    print(„Najpierw musisz kupić bilet.”)

Priorytet operatora

Kiedy w jednym warunku spotykają się and oraz or razem, Python najpierw oblicza not, więc and, a dopiero potem or — tak jak mnożenie odbywa się przed dodawaniem do Arytmetyka:

not
jest wykonywany jako pierwszy
and
jest wykonywany przez drugiego
or
wykonywany jest na końcu
Priorytet operatorów boolowskich jest podobny do +/- i */÷ w arytmetyce
prioritet.py
print(True or False and False)
#and zostanie wykonany pierwszy: False and False -> False
# to or: True or False -> True
Nawiasy pomagają odczytywać skomplikowane warunki
Nie zmuszaj czytelnika (i siebie w przyszłości) do pamiętania tabeli priorytetów. Gdy warunków jest wiele, nawiasy czynią kolejność wyraźną: is_admin or (is_owner and is_active) jest jednoznacznie czytelna, w przeciwieństwie do opcji bez nawiasów.

Przetłumacz ludzki język na stan — i odwrotnie

Ludzkie SłowoPython-stan
„wiek nie mniejszy niż 18”age >= 18
„temperatura poniżej zera”temperature < 0
„Nazwa nie jest pusta”name (wystarczy sama nazwa — truthiness)
„odpowiedź brzmi: tak lub yes”answer in ("да", "yes")
„dorosły i z mandatem”age >= 18 and has_ticket

To podstawowa umiejętność: nauczyć się formułować pytanie w ludzkim języku, oraz następnie przetłumacz to na Python-condition, a odwrotnie, odczytaj gotowy warunek jako zdanie.

Praktyka: and, or, not razem i priorytet
interaktywny laptop bezpośrednio w przeglądarce – Python 3.14 przez Pyodide, bez instalacji
Otwórz praktykę →