Что такое функции?

Функции - это блоки кода, которые можно вызывать многократно для выполнения определенной задачи. Они помогают структурировать код, избегать дублирования и делать программы более понятными.

Преимущества функций

Создание функции

Функция создается с помощью ключевого слова def, за которым следует имя функции и круглые скобки.

Синтаксис создания функции
def имя_функции():
    # тело функции
    операторы
Простая функция без параметров
def приветствие():
    print("Привет, мир!")
    print("Добро пожаловать в Python!")

# Вызов функции
приветствие()

Возврат значений

Функции могут возвращать значения с помощью ключевого слова return. После return выполнение функции прекращается.

Функция с возвратом значения
def сложение(a, b):
    результат = a + b
    return результат

# Вызов функции и сохранение результата
сумма = сложение(5, 3)
print(f"Сумма: {сумма}")
Функция с несколькими return
def сравнение_чисел(a, b):
    if a > b:
        return "Первое число больше"
    elif a < b:
        return "Второе число больше"
    else:
        return "Числа равны"

результат = сравнение_чисел(10, 5)
print(результат)

Область видимости переменных

Переменные, созданные внутри функции, являются локальными и не доступны вне функции.

Локальные и глобальные переменные
глобальная_переменная = "Я доступна везде"

def моя_функция():
    локальная_переменная = "Я доступна только внутри функции"
    print(глобальная_переменная)  # Доступна
    print(локальная_переменная)   # Доступна

моя_функция()
print(глобальная_переменная)  # Доступна
# print(локальная_переменная)  # Ошибка! Переменная не доступна

Функции без return

Если функция не содержит return, она возвращает значение None.

Функция без явного return
def показать_сообщение():
    print("Это сообщение из функции")

результат = показать_сообщение()
print(результат)  # Выведет: None

Рекурсивные функции

Функция может вызывать саму себя. Это называется рекурсией.

Пример рекурсивной функции
def факториал(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * факториал(n - 1)

print(f"Факториал 5 = {факториал(5)}")

Практические задания

Задания
  1. Напишите функцию, которая принимает имя и выводит персонализированное приветствие.
  2. Создайте функцию, которая вычисляет площадь прямоугольника по длине и ширине.
  3. Напишите функцию, которая проверяет, является ли число четным.
  4. Создайте функцию, которая находит максимальное из трех чисел.
Решения:

Задание 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))
Предыдущий урок Следующий урок