33.87M
Категория: ПрограммированиеПрограммирование

Элементы функционального программирования

1.

Элементы
функционального
программирования
Новосибирский государственный
технический университет НЭТИ
Ларьков
Алексей Сергеевич
www.nstu.ru

2.

Функциональное программирование —
это парадигма программирования, в
которой программы создаются путем
последовательного применения функций, а
не инструкций.
www.nstu.ru

3.

Преимущества
• Легкая отладка
• Отложенное вычисление
• Модульность
• Лучшая читаемость
• Параллельное программирование
www.nstu.ru

4.

Функции
Функция – объект, принимающий аргументы и
возвращающий значение
def – объявление функции
def function_name ( параметры ):
“Документация”
# тело функции
return
www.nstu.ru

5.

Вызов функции
function_name ( аргументы )
Аргументы — это информация, переданная в функцию
www.nstu.ru

6.

Аргументы
Позиционные подставляются согласно
позиции имён аргументов
Именованные определяются по именам, а
не по позициям аргументов
www.nstu.ru

7.

Аргументы
www.nstu.ru

8.

Пример
www.nstu.ru

9.

Область видимости
• Локальная (Local)
• Нелокальная (Enclosed)
• Глобальная (Global)
• Встроенная (Built-in)
www.nstu.ru

10.

Локальная область видимости
www.nstu.ru

11.

Нелокальная область видимости
www.nstu.ru

12.

Глобальная область видимости
www.nstu.ru

13.

Пример
www.nstu.ru

14.

Типы функций
• Анонимные
• Рекурсивные
• Встроенные
• Методы
www.nstu.ru

15.

Анонимные функции
www.nstu.ru

16.

Рекурсивные функции
www.nstu.ru

17.

Модули
Модуль - это отдельный файл c расширением .py,
содержащий какой-то код.
Преимущества:
• Простота
• Модифицируемость
• Повторное использование кода
• Область действия
www.nstu.ru

18.

Подключение модулей
www.nstu.ru

19.

Пакеты
https://pypi.org/
www.nstu.ru

20.

Пример
random.randrange(start, stop, step) - возвращает случайно
выбранное число из последовательности
random.randint(A, B) - случайное целое число N, A ≤ N ≤ B.
random.choice(sequence) - случайный элемент непустой
последовательности.
www.nstu.ru

21.

Встроенные функции
bool () - проверяет достоверность (истинность) объектов
enumerate () – подсчет количества элементов в цикле
sum () – возвращает сумму чисел
min()/max() - минимальное и максимальное число из набора
sorted() - возвращает новый список всех значений в
отсортированном порядке
map() - принимает функцию-аргумент и применяет её ко всем
элементам входящей последовательности
zip() - упаковывает итерируемые объекты в один список кортежей
www.nstu.ru

22.

Словари
Словарь (dictionary) - это тип данных, представляющий собой
неупорядоченный набор пар ключ:значение. (при этом каждый
ключ, в рамках одного словаря, является уникальным).
www.nstu.ru

23.

Методы словарей
• clear() — очищает заданный словарь, приводя его к пустому.
• get() — отдаёт значение словаря по указанному ключу.
• items() — возвращает словарные пары ключ:значение, как
соответствующие им кортежи.
• keys() — возвращает ключи словаря, организованные в виде списка.
• values() — подобным образом, возвращает список значений словаря.
• pop() — удалит запись словаря по ключу и вернет её значение.
• popitem() — выбрасывает пару ключ:значение из словаря и возвращает её
в качестве кортежа.
• copy() — создает полную копию исходного словаря.
www.nstu.ru
English     Русский Правила