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
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łowo | Python-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