Функции с возвратом значения

Слайд 1

🔁 Функции с возвратом значения

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

📘 Что такое функция с возвратом значения

Функция с возвратом значения:

  • выполняет определённую задачу;
  • возвращает результат в место, откуда была вызвана.

Возвращаемое значение можно:

  • сохранить в переменную,
  • вывести на экран,
  • использовать в выражении (например, в арифметическом вычислении).
💡 Пример: функция len() возвращает длину строки, abs() — модуль числа, int() — преобразует строку в число.

🧩 Общий формат функции с возвратом значения

def имя_функции():
    блок кода
    return выражение

Инструкция return завершает работу функции и возвращает указанное значение.

🌡️ Пример: перевод Фаренгейта в Цельсий

def convert_to_celsius(temp):
    result = (5 / 9) * (temp - 32)
    return result

temp = float(input('Введите температуру в градусах Фаренгейта: '))
celsius = convert_to_celsius(temp)
print(celsius)

Здесь функция convert_to_celsius() принимает температуру по Фаренгейту и возвращает значение по Цельсию.

⚙️ Упрощённая версия

def convert_to_celsius(temp):
    return (5 / 9) * (temp - 32)

Здесь мы сразу возвращаем результат выражения, не создавая лишнюю переменную result.

🔀 Несколько return в одной функции

В функции можно использовать несколько инструкций return. При выполнении первой из них работа функции прекращается.

def convert_grade(grade):
    if grade >= 90:
        return 5
    elif grade >= 80:
        return 4
    elif grade >= 70:
        return 3
    elif grade >= 60:
        return 2
    else:
        return 1

grade = int(input('Введите отметку по 100-балльной системе: '))
print(convert_grade(grade))

Результат зависит от введённого числа: функция возвращает оценку по пятибалльной шкале.

📦 Альтернатива с одной return

def convert_grade(grade):
    if grade >= 90:
        result = 5
    elif grade >= 80:
        result = 4
    elif grade >= 70:
        result = 3
    elif grade >= 60:
        result = 2
    else:
        result = 1
    
    return result

Здесь мы используем только одну инструкцию return в конце, что иногда делает код понятнее.

⚠️ Если в функции несколько return, выполняется только первый, до которого дойдёт выполнение.

🎯 Пример

def get_grade():
    return 10
    return 20

print(get_grade())

Результат:

10

🔍 Если функция ничего не возвращает

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

def get_middle_number(a, b, c):
    mx = max(a, b, c)
    mn = min(a, b, c)
    mid = a + b + c - mx - mn

print(get_middle_number(4, 7, 2))

Результат:

None
💡 Если функция не возвращает результат явно, Python возвращает None по умолчанию.

📚 Преимущества функций с возвратом значения

  • Упрощают программный код.
  • Избегают дублирования.
  • Ускоряют разработку.
  • Облегчают тестирование.
  • Позволяют писать чистый и модульный код.
💡 Хорошее имя для переменной, значение которой возвращается из функции — result.