Wiemy już, jak wyglądają podstawowe typy danych w Pythonie i jak działają zmienne. Pora na instrukcje warunkowe. Porozmawiamy o instrukcjach if – else – elseif, operatorze warunkowym oraz o najbardziej charakterystycznej cesze Pythona – obowiązkowych wcięciach w kodzie.

if – else

Na początek instrukcja if – najpopularniejsza instrukcja warunkowa na świecie. Wygląda to tak:

x = 4

if x > 1:
    print("x > 1")

Po słowie kluczowym if następuje warunek – dowolne wyrażenie, którego rezultat może być potraktowany jako prawda lub fałsz. Następnie znak dwukropka (:) i w nowej linii, z wcięciem (standard to 4 spacje), wywołanie funkcji print.
Jeśli x będzie większy od 1, funkcja print wypisze nam tekst na ekran.

Wyrażenie występujące po słowie if nie wymaga stosowania nawiasów. Nowy blok kodu nie wymaga stosowania nawiasów klamrowych – w Pythonie tę funkcję pełni jednolite wcięcie. Każdy nowy blok kodu jest poprzedzony znakiem dwukropka. Oczywiście w Pythonie nie stosujemy znaku średnika na końcu każdej linii kodu.

Jeśli warunek instrukcji if nie zostanie spełniony, możemy użyć słowa kluczowego else do wykonania alternatywnego kodu:

x = 0

if x > 1:
    print("blok if")
    print("x > 1")
    print("koniec bloku if")
else:
    print("blok else")
    print("x <= 1")
    print("koniec bloku else")

elif

Python nie posiada instrukcji switch (znanej choćby z C++). Musimy więc korzystać z powtarzających się bloków else – if, jeśli chcemy sprawdzić więcej niż 2 możliwości rozgałęzienia kodu. Miłym udogodnieniem jest tutaj słowo kluczowe elif, które zastępuje dłuższe wyrażenie else – if:

x = 13

if x == 0:
    print("x == 0")
elif x > 0:
    print("x > 0")
else:
    print("x < 0")

Instrukcje warunkowe można też oczywiście zagnieżdżać:

x = 13

if x != 0:
    print("x != 0")
    if x > 0:
        print("x > 0")
else:
    print("x == 0")

W tym przypadku jedyne słowo kluczowe else dotyczy pierwszej instrukcji if (if x != 0:), ponieważ zostało umieszczone na tym samym poziomie wcięcia.

Operator warunkowy

Inaczej znany z innych języków operator trójargumentowy. W Pythonie ta konstrukcja wygląda znów nieco inaczej, niż w większości popularnych języków programowania.
Skorzystajmy z sesji interaktywnej Pythona, żeby zobaczyć na żywo, jak to się zachowuje:

>>> x = 13
>>> y = 44
>>> z = 7
>>> z if x < y else 0
7
>>> z if x > y else 0
0

Wyróżnikiem jest tutaj instrukcja warunkowa przeniesiona do środka. Jeśli wyrażenie warunkowe instrukcji if (x < y) jest prawdą, rezultatem jest wyrażenie znajdujące się po lewej stronie instrukcji warunkowej. W przeciwnym wypadku rezultatem jest wyrażenie umieszczone po prawej stronie, po słowie kluczowym else.