Функции - это блоки кода, которые можно вызывать многократно для выполнения определенной задачи. Они помогают структурировать код, избегать дублирования и делать программы более понятными.
Функция создается с помощью ключевого слова def, за которым следует имя функции и круглые скобки.
def имя_функции():
# тело функции
операторы
def приветствие():
print("Привет, мир!")
print("Добро пожаловать в Python!")
# Вызов функции
приветствие()
Функции могут возвращать значения с помощью ключевого слова return. После return выполнение функции прекращается.
def сложение(a, b):
результат = a + b
return результат
# Вызов функции и сохранение результата
сумма = сложение(5, 3)
print(f"Сумма: {сумма}")
def сравнение_чисел(a, b):
if a > b:
return "Первое число больше"
elif a < b:
return "Второе число больше"
else:
return "Числа равны"
результат = сравнение_чисел(10, 5)
print(результат)
Переменные, созданные внутри функции, являются локальными и не доступны вне функции.
глобальная_переменная = "Я доступна везде"
def моя_функция():
локальная_переменная = "Я доступна только внутри функции"
print(глобальная_переменная) # Доступна
print(локальная_переменная) # Доступна
моя_функция()
print(глобальная_переменная) # Доступна
# print(локальная_переменная) # Ошибка! Переменная не доступна
Если функция не содержит return, она возвращает значение None.
def показать_сообщение():
print("Это сообщение из функции")
результат = показать_сообщение()
print(результат) # Выведет: None
Функция может вызывать саму себя. Это называется рекурсией.
def факториал(n):
if n == 0 or n == 1:
return 1
else:
return n * факториал(n - 1)
print(f"Факториал 5 = {факториал(5)}")
Задание 1:
def приветствие_по_имени(имя):
print(f"Привет, {имя}! Рады видеть вас!")
приветствие_по_имени("Анна")
Задание 2:
def площадь_прямоугольника(длина, ширина):
return длина * ширина
площадь = площадь_прямоугольника(10, 5)
print(f"Площадь прямоугольника: {площадь}")
Задание 3:
def четное_число(число):
return число % 2 == 0
print(четное_число(4)) # True
print(четное_число(7)) # False
Задание 4:
def максимум_из_трех(a, b, c):
return max(a, b, c)
# Альтернативное решение без использования max()
# def максимум_из_трех(a, b, c):
# if a >= b and a >= c:
# return a
# elif b >= a and b >= c:
# return b
# else:
# return c
print(максимум_из_трех(10, 5, 8))