Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

Funkcje - Narzędzia eksploracyjne

Witaj, @name! Dobry badacz nie wykonuje każdej czynności od zera. Ma gotowe narzędzia: jeden ruch maczetą, jeden gest na rozbicie namiotu. W programowaniu takie wielokrotnie używane narzędzie nazywamy funkcją. Funkcja to nazwany blok kodu, który możemy uruchomić, kiedy tylko chcemy.

Definiowanie funkcji - słowo def

Funkcję tworzymy słowem kluczowym `def` (od "define" - zdefiniować). Podajemy nazwę funkcji, nawiasy i dwukropek, a poniżej - wcięty blok kodu.

1def greet_explorer():
2    print("🌴 Witaj na Safari!")
3    print("Darwin życzy udanej ekspedycji.")
4
5# Wywołanie funkcji - uruchamiamy ją po nazwie
6greet_explorer()

Samo zdefiniowanie funkcji jej nie uruchamia - to jak napisanie instrukcji obsługi narzędzia. Aby narzędzia użyć, musimy je wywołać, pisząc nazwę z nawiasami: `greet_explorer()`. Możemy ją wywołać wiele razy!

Parametry - przekazywanie danych do funkcji

Narzędzie staje się potężniejsze, gdy możemy mu coś przekazać. Parametry to dane, które funkcja przyjmuje w nawiasach.

1def greet_explorer(name):
2    print(f"🌴 Witaj, {name}, na Safari!")
3
4greet_explorer("Darwin")   # 🌴 Witaj, Darwin, na Safari!
5greet_explorer("Ania")     # 🌴 Witaj, Ania, na Safari!

Funkcja może przyjmować wiele parametrów:

1def describe_animal(species, weight):
2    print(f"{species} waży {weight} kg.")
3
4describe_animal("Słoń", 5000)
5describe_animal("Lew", 190)

Zwracanie wartości - słowo return

Do tej pory funkcje tylko wyświetlały tekst. Ale często chcemy, aby funkcja obliczyła coś i oddała nam wynik. Do tego służy słowo `return`.

1def calculate_speed(distance, time):
2    speed = distance / time
3    return speed
4
5# Wynik możemy zapisać do zmiennej
6result = calculate_speed(30, 4)
7print(f"Prędkość: {result} km/h")   # Prędkość: 7.5 km/h
8
9# Albo użyć od razu
10print(f"Prędkość: {calculate_speed(60, 3)} km/h")

Różnica jest ważna: `print()` tylko pokazuje tekst na ekranie, a `return` oddaje wartość, którą możemy dalej wykorzystać w obliczeniach. Po wykonaniu `return` funkcja natychmiast się kończy.

Funkcje z warunkami - łączymy wiedzę

Funkcje mogą zawierać wszystko, czego się nauczyłeś/aś - warunki, pętle, operatory:

1def is_dangerous(weight):
2    if weight > 1000:
3        return True
4    else:
5        return False
6
7print(is_dangerous(5000))  # True (słoń)
8print(is_dangerous(190))   # False (lew)

Praktyka

Napisz funkcję, która oblicza, ile dni zajmie przejście zadanego dystansu. Uzupełnij kod w edytorze:

Podsumowanie

W tej lekcji stworzyłeś/aś własne narzędzia badacza:

  • ✅ `def` - definiuje funkcję (nazwany blok kodu)
  • ✅ Wywołanie funkcji przez `nazwa()`
  • ✅ Parametry - dane przekazywane do funkcji w nawiasach
  • ✅ `return` - zwraca wynik, który można dalej wykorzystać
  • ✅ Różnicę między `print()` (wyświetla) a `return` (oddaje wartość)

Gratulacje! Znasz już fundamenty Pythona: zmienne, typy, operatory, warunki, pętle i funkcje. Czas połączyć tę wiedzę w wielkim projekcie ekspedycji! 🎉🌴

Przejdź do CodeWorlds