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 = 8Funkcje 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) # BParametry 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 wszystkieParametry 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)) # 7Zakres 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