Mówiąc prosto, mianem instrukcji w Pythonie określamy to, co chcemy, aby robiły nasze programy – obok wyrażeń są to najmniejsze części tej składni języka, która jest odpowiedzialna za „robienie rzeczy”. Instrukcje są podstawą języka Python, który jest językiem proceduralnym – dzięki łączeniu instrukcji w bloki tworzymy procedury, które służą do wykonywania określonych zadań przez program. Instrukcja zawierają z kolei wyrażenia, które tworzą i przetwarzają obiekty.
W skrócie:
Instrukcje – sterują programem, odpowiadają za warstwę logiki.
Wyrażenia – przetwarzają obiekty poprzez wykonywanie na nich określonych działań.
Instrukcje są odpowiedzialne za logikę działania programu, czyli wykorzystują i kierują wyrażenia w ten sposób, aby przetwarzały one obiekty zgodnie z oczekiwaniami. Każda instrukcja ma swoją składnię oraz przeznaczenie.

Przykład instrukcji w Pythonie
Przypisanie, czyli tworzenie referencji:
a = 'xyz'
Wywołanie funkcji lub metody:
>>> str.upper('xyz')
'XYZ'
Instrukcja wyboru if/else/elif:
>>> if 1 == 1: print(1)
...
1
Iteracja for/else:
>>> for char in 'xyz': print(char)
...
x
y
z
Iteracja while/else:
>>> x = 3
>>> while x:
... print(x)
... x -= 1
...
3
2
1
Pusta instrukcja zastępcza pass:
>>> for x in 'abc':
... pass
...
>>>
Wyjście z pętli break:
>>> while x:
... print(x)
... x -= 1
... if x == 2: break
...
3
Kontynuacja pętli continue:
>>> for x in range(4):
... if x == 2: continue
... print(x)
...
0
1
3
Stworzenie funkcji def:
>>> def my_function(): pass
...
Zwrócenie wyników funkcji return:
>>> def my_function(): return 5
...
>>> my_function()
5
Funkcja generatora yield:
>>> def my_function():
... for x in range(5):
... yield(x)
list(my_function())
[0, 1, 2, 3, 4]
Importowanie modułów – import oraz from:
>>> import random
>>> from random import randint
Tworzenie klas:
>>> class MyClass():
... somemethod = ()
Przechwytywanie wyjątków try/except:
>>> def example():
... try:
... pass
... except:
... pass
Menedżer kontekstu with/as:
>>> with open('test.txt', 'w') as myfile:
... myfile.write('test')
...
4
Usuwanie referencji del:
>>> L = [1, 2, 3]
>>> del L[0]
>>> L
[2, 3]
Jak widzimy instrukcje w Pythonie mają prostą i klarowną budowę. W ich składni musimy używać nawiasów okrągłych ani klamrowych, przecinków czy średników, jak ma to miejsce w innych językach programowania. W zasadzie jedynym wymaganym znakiem jest ’:’vstosowany do pisania wszystkich instrukcji złożonych:
nagłówek:
zagnieżdżony blok instrukcji
Nawiasy są opcjonalne, koniec wiersza jest końcem instrukcji, a koniec wcięcia to koniec bloku: najbardziej niecodzienną z tych wszystkich cech jest ta ostatnia. Stosowanie wcięć zgodnie z określonym porządkiem wskazuje początek i koniec bloków. W Pythonie wcięcia stanowią element składni. Wcięcia można tworzyć przy użyciu spacji lub tabulatorów, najważniejsze, aby stosować je w sposób spójny – nie należy ich mieszać, zarówno pod względem rodzaju (spacja czy tabulator), jak i liczby (liczba spacji lub tabulatorów dla każdego wcięcia powinna zawsze być taka sama) . Wygląd kodu w Pythonie odzwierciedla jego działanie.
Wyjątki aka przypadki specjalne
Jak wspomnieliśmy wcześniej, koniec wiersza kończy instrukcję w danym wierszu, natomiast instrukcję zagnieżdżone są łączone w blokach za pomocą odpowiedniego stosowania w cięć. Wygląda to tak:
L = [1, 2, 3]
for x in L:
x+=1 #wcięcie
print(x) #wcięcie
Dzięki dwóm wcięciom powyższy kod tworzy blok instrukcji zagnieżdżonych.
Istnieje jednak sposób na to, aby łączyć ze sobą więcej niż jedną instrukcję w tym samym wierszu, rozdzielając je od siebie przecinkami:
>>> a=1; b=2, print(a, b)
1 2
Jako separator stosowany jest’ ’;’ – taka możliwość dotyczy jednak tylko prostych, niezagnieżdżonych instrukcji. Instrukcja złożone, takie jak pętle czy instrukcje warunkowe nadal muszą wykorzystywać tradycyjną składnię. Z drugiej strony instrukcje mogą rozciągać się na kilka wierszy, jeśli tylko umieścimy je w nawiasach:
>>> longlist = [111,
... 222,
... 333]
>>> longstring = ('aaa'+
... 'bb'+
... 'cc')
>>> longstring
'aaabbcc'
W ten sposób możliwe jest rozkładanie na wiersze również instrukcji złożonych:
A, B, C = 1, 2, 3
if (A == 1 and
B == 2 and
C == 3):
print('Test udany.')
Alternatywę stanowi wykorzystanie lewego ukośnika (\), jednak ta technika jest uważana za przestarzałą i może stwarzać problemy podczas interpretacji skryptu.
Kolejnym odstępstwem jest umieszczanie prostych instrukcji warunkowych w tym samym wierszu, co nagłówek. Dotyczy to takich instrukcji jak wypisanie komunikatu na ekranie, przypisanie czy wywołanie funkcji.
>>> x = 2
>>> y = 3
>>> if y > x: print(y)
...
3
Mimo, że Python daje możliwość stosowania wymienionych wyżej przypadków specjalnych, to jako najlepsze praktyki uznaje się podążanie za standardowymi zasadami składni Pythona. Jest to również łatwiejsze z punktu widzenia testów, profilowania czy późniejszej modyfikacji. Niektóre narzędzia mogą nie odróżniać tego, że w jednym wierszu znajduje się kilka instrukcji lub też nie będą umiały oddzielić ciała instrukcji od jej nagłówka.
Kilka przykładów zastosowania instrukcji w Pythonie:
Wychodzenie z pętli za pomocą instrukcji break:
>>> while True: #nagłówek instrukcji
>>> user_input = input('Napisz \'stop\', aby wyjść z pętli: ')
>>> if user_input == 'stop': break
>>> print(user_input)
- Pętla while umieszczona w nagłówku interpretuje wyrażenie w kontekście tego, czy jest ono prawdą lub fałszem. Jeśli jest prawdą, wykonywany jest blok instrukcji następujący po nagłówku. Innymi słowy kod instrukcji warunkowej będzie powtarzany do tego momentu, do którego wartość w nagłówku będzie prawdą albo do momentu, gdy wywołany zostanie break.
- Funkcja input() wyświetla tekst, który będzie wyświetlony użytkownikowi oraz zwraca wpisaną przez niego odpowiedź.
- Instrukcja sprawdza, kiedy kod ma wyjść z pętli, a tym samym zakończyć działanie programu. Ciało instrukcji warunkowej w postaci instrukcji break pojawia się od razu po dwukropku; jest to jeden z najczęściej stosowanych wyjątków od reguł składni Pythona.
Instrukcja break oznacza natychmiastowe wyjście z pętli i wykonywanie dalszych części programu.
Obsługa błędów
Obsługa błędów w Pythonie może odbywać się za pomocą sprawdzania danych wejściowych lub po prostu wykorzystanie obsługi wyjątków, które jest bardziej uniwersalnym rozwiązaniem, a także nie wymaga pisania dużej ilości kodu.
while True:
user_input = input("Wpisz liczbę lub \'stop\', aby wyjść z pętli: ")
if user_input == 'stop' : break
try:
num=int(user_input)
except:
print('To nie liczba!')
else:
print(user_input)
break
Instrukcja try składa się z trzech elementów:
- słowa kluczowego try oraz bloku z kodem, który określa działanie, jakie chcemy uzyskać,
- części except, która zajmuje się obsługą wyjątków
- części else, która zostanie wywołana, jeśli nie dojdzie do zgłoszenia wyjątku.
Python najpierw wykonuje część try, następnie except – jeśli doszło do pojawienia się wyjątku lub else – jeśli wyjątek się nie pojawił. Część else jest powiązana z try, a nie z if – try, except oraz else są częścią tego samego bloku, zatem wykonywane są kolejno po sobie.
W następnej części przyjrzymy się bardzo ważnej instrukcji – instrukcji przypisania.
Dodaj komentarz
Musisz się zalogować, aby móc dodać komentarz.