Funkcje

Funkcje w Pythonie

Funkcje to bloki kodu, które można wielokrotnie używać. Pozwalają na organizację kodu i unikanie powtórzeń.

Definiowanie funkcji:

Funkcję definiujemy używając słowa kluczowego def:

def greet():
    print("Witaj!")

# Wywołanie funkcji
greet()  # Wyświetli: Witaj!

Funkcje z parametrami:

def greet(name):
    print(f"Witaj, {name}!")

greet("Jan")      # Witaj, Jan!
greet("Anna")     # Witaj, Anna!

# Funkcja z wieloma parametrami
def add_numbers(a, b):
    result = a + b
    print(f"{a} + {b} = {result}")

add_numbers(5, 3)  # 5 + 3 = 8

Funkcje zwracające wartości:

def square(number):
    return number ** 2

result = square(4)
print(result)  # 16

# Funkcja z wieloma return
def get_grade(score):
    if score >= 90:
        return "A"
    elif score >= 80:
        return "B"
    elif score >= 70:
        return "C"
    else:
        return "F"

grade = get_grade(85)
print(grade)  # B

Parametry domyślne:

def greet(name="Użytkowniku"):
    print(f"Witaj, {name}!")

greet()           # Witaj, Użytkowniku!
greet("Jan")      # Witaj, Jan!

def create_profile(name, age=18, city="Nieznane"):
    print(f"Imię: {name}")
    print(f"Wiek: {age}")
    print(f"Miasto: {city}")

create_profile("Anna")                    # używa domyślnych wartości
create_profile("Jan", 25)                 # nadpisuje age
create_profile("Piotr", 30, "Warszawa")   # nadpisuje wszystkie

Parametry nazwane:

def describe_person(name, age, job):
    print(f"{name} ma {age} lat i pracuje jako {job}")

# Można wywołać z nazwami parametrów
describe_person(name="Jan", age=30, job="programista")
describe_person(age=25, name="Anna", job="designer")

Funkcje z listą argumentów:

def sum_all(*numbers):
    total = 0
    for num in numbers:
        total += num
    return total

print(sum_all(1, 2, 3, 4, 5))  # 15
print(sum_all(10, 20))         # 30

# Funkcja z parametrami nazwanymi
def create_profile(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

create_profile(name="Jan", age=30, city="Warszawa")

Funkcje lambda (anonimowe):

# Tradycyjna funkcja
def square(x):
    return x ** 2

# Funkcja lambda (to samo)
square_lambda = lambda x: x ** 2

print(square(5))        # 25
print(square_lambda(5)) # 25

# Lambda z wieloma parametrami
add = lambda a, b: a + b
print(add(3, 4))  # 7

Zakres zmiennych (scope):

global_var = "Jestem globalna"

def test_scope():
    local_var = "Jestem lokalna"
    print(global_var)   # dostęp do zmiennej globalnej
    print(local_var)    # dostęp do zmiennej lokalnej

test_scope()
# print(local_var)  # Błąd! Zmienna lokalna nie jest dostępna poza funkcją

Ćwiczenie:

Stwórz różne funkcje z parametrami i wartościami zwracanymi.

Brak odpowiedzi

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *