Что такое функциональное программирование?

Концепции парадигм программирования

Eleanor Thomas

Senior Data Analytics Engineer

Что такое функциональное программирование?

  • Функциональное программирование: парадигма программирования, основанная на функциях, в частности чистых функциях
  • Чистые функции: процесс, который принимает входные значения, формирует выходные значения только на их основе и не выполняет ничего другого
  • Разделение ответственности в функциональном программировании обеспечивается через функции

Ввод, обработка, вывод

Концепции парадигм программирования

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

  • Концепция чистой функции в функциональном программировании пришла из математики
  • Чистые функции только смотрят на входные данные и только формируют выходные
  • Чистые функции не имеют «побочных эффектов»
  • Отсутствие побочных эффектов означает:
    • Нет влияния на другие переменные программы
    • Нет записи в файлы
    • Нет сохранения данных в базу данных
Концепции парадигм программирования

Пример чистой функции

Чистая функция

def pure_sum(x, y):
    output = x + y

    return output

Не является чистой функцией

def not_pure_sum(x, y):
    output = x + y

    print(output)

    return output
Концепции парадигм программирования

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

  • Чистые функции проще понимать и отлаживать
  • Тестировать чистые функции легче
  • Результат для заданных входных данных полностью предсказуем
    • Как и в математике: 5 в квадрате всегда равно 25

Ввод, вывод

Концепции парадигм программирования

Давайте потренируемся!

Концепции парадигм программирования

Preparing Video For Download...