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.
Kontynuuj naukę: Mini Kurs Pythona #6: Pętle.