Функційне програмування в дії

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

Eleanor Thomas

Senior Data Analytics Engineer

Функційне програмування в дії

  • Три приклади чистих функцій
  • Ключова відмінність між чистою та звичайною функцією в Python: жодних побічних ефектів
  • Чисті функції можуть викликати інші чисті функції й залишатися чистими

Дошка для малювання

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

Приклад 1 — Пишемо чисту функцію

def square_list(input_list):
    new_list = []

for item in input_list:
new_item = item ** 2
new_list.append(new_item)
return new_list
  • Спершу створіть новий порожній список
  • Переберіть кожен елемент у вхідному списку
    • Піднесіть до квадрата
    • Додайте до нового списку
  • Поверніть новий список
Концепції парадигм програмування

Приклад 2 — Виправлення «нечистої» функції

sample_mean = 10
scale_factor = 2

def scale_list(input_list):
    new_list = []
    for item in input_list:
        new_item = (item - sample_mean) / scale_factor
        new_list.append(new_item)
    return new_list
  • Залежить від змінних поза тілом функції
  • Не є чистою функцією
Концепції парадигм програмування

Приклад 2 — «Нечисту» функцію виправлено

def scale_list(input_list, sample_mean, scale_factor):
    new_list = []
    for item in input_list:
        new_item = (item - sample_mean) / scale_factor
        new_list.append(new_item)
    return new_list
  • Змінні sample_mean і scale_factor стали параметрами функції
  • Тепер функція «чиста»
Концепції парадигм програмування

Приклад 3 — Поєднання чистих функцій

def scale_value(value, sample_mean, scale_factor):
    scaled_value = (value - sample_mean) / scale_factor
    return scaled_value

def scale_list(input_list, sample_mean, scale_factor):
    new_list = []
    for item in input_list:
        new_item = scale_value(item, sample_mean, scale_factor)
        new_list.append(new_item)
    return new_list
Концепції парадигм програмування

Давайте потренуємось!

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

Preparing Video For Download...