Funkcje i ich deklarowanie w Pythonie

04/12/2018

3 minut czytania

W trakcie pisania kodu nie chcemy, by kod się powtarzał, bo wtedy będzie za długi i trudny do przeczytania. Właśnie po to powstały funkcje – programowanie w Pythonie byłoby bez nich znacznie trudniejsze, a na pewno bardziej żmudne! Pora wyjaśnić, skąd wzięły się funkcje i do czego służą, a ponadto czy warto uczyć się Pythona. Pokażemy Wam, w jaki sposób ułatwiają i przyspieszają pracę programistów.

Czym są funkcje?

Nazwa funkcje pochodzi z matematyki – inspirowana jest funkcjami matematycznymi, jednak funkcje w programowaniu są nieco czymś innym. Jak to wytłumaczyć? Najlepiej prosto i obrazowo. Funkcję możemy w najprostszy sposób porównać do małej maszynki, do której wkładamy pewne składniki na wejściu,  a otrzymujemy coś innego na wyjściu. Tylko od nas zależy, co to będzie. W Pythonie możemy samodzielnie definiować takie „maszynki”, które pomagają nam budować, niczym z klocków, większą całość. Jednak, jest to prawie pewne, że ktoś przed nami miał już podobną potrzebę czy problem, dlatego też warto sprawdzić bogate biblioteki funkcji dostępne w Internecie.

Przyjmuje się, że nauka języka to w 10% nauka składni, a w 90% wiedza o bibliotekach, frameworkach i ekosystemie danego języka. Żaden programista nie pisze wszystkich funkcji ręcznie, tylko korzysta z gotowych. Nie dotyczy to oczywiście naszych studentów, ponieważ w celach edukacyjnych nie pozwalamy im początkowo korzystać z wbudowanych funkcji takich jak np. sortowanie, dzięki czemu uczą się je samodzielnie tworzyć. Oczywiście piszą funkcje w Pythonie tylko raz – potem mogą już z nich korzystać w swoich projektach.

W trakcie nauki podstaw programowania w Pythonie, studenci Codecool szybko zauważają, ze pewne fragmenty ich kodu się powielają. Nie trzeba ich więc przekonywać o użyteczności i praktycznej roli. Funkcje pozwalają zmniejszyć ilość tego kodu, ponieważ zapisujemy powtarzające się bloki kodu jako funkcje. Później zastępujemy powtarzający się kod, wywołując funkcję.

Funkcje mają wiele praktycznych zalet:

  • nie musimy ciągle kopiować i wklejać tego samego kodu
  • kod staje się krótszy i bardziej czytelny
  • jeżeli chcielibyśmy zmienić działanie funkcji, to wystarczy, że zobimy to w jednym miejscu, a nie w wielu

Jak wywołać funkcję w Pythonie?

Funkcję w Pythonie wywołuje się w edytorze kodu (IDE) za pomocą jej nazwy. Musimy więc znać nazwę funkcji, która wykona oczekiwaną przez nas czynność. Trzeba zatem znaleźć ją w dokumentacji albo zaglądnąć do jej kodu źródłowego i zobaczyć, czy funkcja ta przyjmuje jakieś parametry wejściowe i co zwraca – innymi słowy, czy nadaje się do czynności, którą chcemy wykonać. 

Jeżeli mamy swoje własne, samodzielnie napisane funkcje, to sprawa jest prosta. Wiemy bowiem, jakie funkcja przyjmuje parametry i co zwraca. Jeżeli chcemy jednak skorzystać z funkcji wbudowanych, to możemy posłużyć się dokumentacją, którą znajdziemy na stronie Pythona –  python.org

Na stronie tej znajdziemy dokładny opis funkcji wraz z informacjami o parametrach wejściowych oraz o tym, co zwraca dana funkcja. Po zapoznaniu się z dokumentacją i odnalezieniu potrzebnej nam funkcji, możemy użyć jej w naszym kodzie – wystarczy że napiszemy jej nazwę, a w nawisach podamy wartości  parametrów, z którymi chcemy wywołać daną funkcję.

Gdy chcemy wywołać daną funkcję, to w głównym bloku kodu albo w innej funkcji (bo możemy w jednej funkcji wywołać kolejną) podajemy nazwę pożądanej funkcji i w nawiasie listę parametrów. 

Przykładowe ćwiczenia na funkcje w Pythonie

Pierwszą funkcją, jaką pisze każdy początkujący adept programowania, jest Hello World. Można wręcz nazwać to rytuałem. ? Następnie nasi studenci mają napisać funkcję, która ich pozdrowi. Potem piszą funkcje, które zwracają kwadrat danej liczby, sortują jakąś kolekcję, zwracają największy element z kolekcji. Studenci piszą też funkcję, która wypisuje elementy z ciągu Fibonacciego (np. wypisz dziewięćdziesiąty element, wypisz 100 pierwszych elementów). Przykładowym ćwiczeniem na pisanie funkcji w Pythonie może też być napisanie prostego programu, np. guessing game i zidentyfikowanie, które fragmenty programu są do siebie na tyle podobne, że możemy spróbować zastąpić je funkcjami. Pisząc prosty program typu Hangman studenci Codecool zaczynają od pisania go bez użycia funkcji, a następnie mają za zadanie zamianę powtarzających się fragmentów kodu funkcjami.

Zainteresuje Cię również:Zmienne w Python

Takie funkcje są oczywiście dostępne w oficjalnych bibliotekach, ale zależy nam, aby studenci nauczyli się  na takich prostych przykładach pisania funkcji w Pythonie. Jedną z najciekawszych, jaką piszą nasi studenci, jest funkcja rysująca tabelkę dynamiczną w ASCII art. Dynamiczność tabeli polega na tym, że ma być ona tak szeroka, jak jej zawartość. Żartujemy, że ten, kto umie zrobić tę dynamiczną tabelkę, jest już pewniaczkiem – dobrym materiałem na programistę!

Podsumowanie

Funkcje w Pythonie to niezbędne narzędzie w pracy każdego programisty. Funkcje są niezwykle pomocne – dzięki nim nasz kod prezentuje się lepiej, jest krótszy i bardziej czytelny, a my, pisząc go, oszczędzamy sobie masę zbędnej pracy. Programowanie bez funkcji mogło by istnieć – oczywiście! Ale komu by się chciało pisać tyle kodu… 🙂

O nas

Codecool to miejsce, w którym zaczyna się Twoja kariera w IT. Daj się pokierować naszym profesjonalnym mentorom, skorzystaj z gwarancji pracy i odroczonej płatności.
Masz pytanie? Możemy pomóc! Podrzuć nam emaila na [email protected], albo napisz do nas na Facebooku.

Powiązane posty

Zarządzanie czasem i zadaniami: kluczowe umiejętności miękkie do osiągnięcia sukcesu w kodowaniu
Nie tylko umiejętności techniczne wyróżnią Cię...
Twój pierwszy tydzień w Codecool
Twój pierwszy tydzień w Codecool będzie...
TOP 25 zawodów przyszłości w IT: jak rozpocząć karierę
Branża technologiczna rozkwita i generuje ogromną...

Add meg elérhetőséged, és hamarosan visszahívunk!
















    Codecool Poland is closing its doors

    The challenging Polish economic climate has significantly impacted our IT talent recruitment service. So, despite our best efforts, Codecool Poland Sp. z o.o. is ceasing operations.

    If you’re interested in digital courses for individuals, check our company website.

    You can also check Codecool Business for digital skilling, training, and IT recruitment solutions tailored for businesses.