RCTU8NHXC4TDV
Wąż pije kawę w kubku z napisem Witaj świecie

PYI_PY_W13_M06 Funkcje

Obraz wygenerowany przez sztuczną inteligencję Canva.ai
Źródło: domena publiczna.

Funkcje to klucz do tworzenia przejrzystych, łatwych do utrzymania i profesjonalnych programów.

Jak zdefiniować funkcję w Pythonie

Składnia funkcji:

Linia 1. def nazwa podkreślnik funkcji otwórz nawias okrągły parametry zamknij nawias okrągły dwukropek. Linia 2. kratka ciało funkcji otwórz nawias okrągły czyli co ma zrobić zamknij nawias okrągły. Linia 3. instrukcje. Linia 4. return wynik kratka otwórz nawias okrągły opcjonalnie – tylko jeśli chcesz coś zwrócić zamknij nawias okrągły.

Co oznaczają poszczególne elementy:

  • def – to słowo kluczowe, które mówi Pythonowi: „Definiuję funkcję”.

  • nazwa_funkcji – dowolna nazwa, jaką nadamy funkcji (najlepiej opisowa, np. oblicz_sume, powitanie, sprawdz_wiek).

  • parametry – dane wejściowe, które funkcja przyjmuje (np. liczby, tekst, listy). Można podać kilka, oddzielając je przecinkami.

  • : (dwukropek) – oznacza początek ciała funkcji.

  • Ciało funkcji – linijki kodu, które są wcięte (najczęściej 4 spacje lub tabulator).

  • return (słowo kluczowe opcjonalne) – pozwala zwrócić wynik działania funkcji, np. wynik obliczeń.

Przykład 1

Moja pierwsza funkcja.

Napiszemy funkcję o nazwie powitanie(), która wyświetli komunikat: „Witaj w świecie funkcji!”

Linia 1. def powitanie otwórz nawias okrągły zamknij nawias okrągły dwukropek. Linia 2. print otwórz nawias okrągły cudzysłów Witaj w świecie funkcji wykrzyknik cudzysłów zamknij nawias okrągły. Linia 4. powitanie otwórz nawias okrągły zamknij nawias okrągły.

Jest to funkcja, która nie zwraca do programu  żadnej wartości (brak słowa return). Funkcja ta, też nie ma żadnych parametrów. Za każdym razem jej działanie będzie takie samo, na ekranie zostanie wypisany tekst: Witaj w świecie funkcji.

Przykład 2

Funkcja z parametrem. Napiszemy funkcję czesc(imie), która przywita użytkownika np. Witaj Nikodem

Linia 1. def czesc otwórz nawias okrągły imie zamknij nawias okrągły dwukropek. Linia 2. print otwórz nawias okrągły cudzysłów Witaj cudzysłów przecinek imie zamknij nawias okrągły. Linia 4. imie znak równości input otwórz nawias okrągły cudzysłów Podaj swoje imie dwukropek cudzysłów zamknij nawias okrągły. Linia 5. czesc otwórz nawias okrągły imie zamknij nawias okrągły.

Funkcja czesc ma jeden parametr (imie). W zależności od tego jakie imię poda użytkownik tekst wypisany na ekranie będzie inny.

Linia 1. def czesc otwórz nawias okrągły imie zamknij nawias okrągły dwukropek. Linia 2. print otwórz nawias okrągły cudzysłów Witaj cudzysłów przecinek imie zamknij nawias okrągły. Linia 4. imie znak równości input otwórz nawias okrągły cudzysłów Podaj swoje imie dwukropek cudzysłów zamknij nawias okrągły. Linia 5. czesc otwórz nawias okrągły imie zamknij nawias okrągły. Linia 6. kratka Przykładowy wynik działania programu dwukropek. Linia 7. Podaj swoje imie dwukropek Jacek. Linia 8. Witaj Jacek.
Ćwiczenie 1

Napisz funkcję  pole_prostokata(szerokosc, wysokosc), która zwróci pole prostokąta. Wykorzystaj funkcję w programie, który obliczy i wypisze pole prostokąta o bokach podanych przez użytkownika.

Ćwiczenie 2

Napisz funkcję  obwod_prostokata(szerokosc, wysokosc), która zwróci obwod prostokąta. Wykorzystaj funkcję w programie, który obliczy i wypisze obwód prostokąta o bokach podanych przez użytkownika.

Ważne!
  • Funkcja nic nie zrobi, dopóki jej nie wywołasz (np. dodaj(2, 5)).

  • Wcięcia (ang. indentation) są obowiązkowe – bez nich Python zgłosi błąd!

  • Parametry możesz traktować jak zmienne wewnątrz funkcji.