Включено в курс
Чему вы научитесь
- Использовать продвинутые возможности функций для написания лаконичного и эффективного кода
- Отделять чистые функции от функций с побочными эффектами
- Использовать функции высшего порядка (map/filter/reduce) для обработки списков
- Отличать императивную парадигму программирования от декларативной (функциональной)
- Реализовывать и применять декораторы к функциям
Описание
На этом курсе вы изучите функции. Вы узнаете, что такое объекты первого рода, безымянные лямбда-функции и функции высшего порядка. Вы научитесь использовать функции внутри других функций, использовать встроенные операции map, filter, reduce и писать обертки для расширения функционала. Знания из этого курса помогут проектировать лаконичные и эффективные программы, отделять побочные эффекты от чистого кода.
Функции — это основная абстракция для построения программ. Но прежде чем изучать их, нужно освоить базовый синтаксис языка программирования. Также будет полезно повторить курсы по коллекциям, то есть спискам и словарям:
Правильную последовательность курсов можно найти в программе профессии Python-разработчик.
Программа курса
-
3
Чистые функции
Узнаем о чистых и грязных функциях и научимся определять места их применения -
5
Именованные параметры
Узнаем, что у функций в Python кроме позиционных есть еще и именованные параметры, и научимся использовать их -
6
Операторы упаковки
Узнаем, как производить упаковку аргументов и создавать функции с переменным числом аргументов -
7
Операторы распаковки
Узнаем, как производить распаковку коллекций при передаче в функцию -
8
Объекты первого класса
Знакомимся с анонимными функциями и смотрим на функции, как на данные -
9
Функции высшего порядка
Узнаем, что такое функции высшего порядка и как их объявлять -
10
Декораторы
Узнаем о декораторах — интересном и мощном инструменте, который выделяет Python среди многих других языков, поддерживающих использование ФВП -
11
Ленивые вычисления
Познакомимся с концепцией отложенных вычислений и ее реализацией через итераторы и генераторы -
15
Comprehensions
Разбираем альтернативу функциям map и filter для обработки коллекций -
17
Парадигмы программирования
Знакомимся с понятием «парадигма» и рассматриваем отличия императивной и декларативной парадигм -
19
Итеративный процесс
Знакомимся с другим видом применения рекурсии, без откладывания вычислений до самого конца -
20
Абстракция с помощью функций
Обобщить знания о функциях и познакомиться с понятием абстракцииупражнение
-
22
Дополнительные материалы
Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса
Формат обучения
Испытания
Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже
Отзывы
Когда мем превращается в реальность на серьезных щах "Придумывание имен в программировании — одна из основных проблем."
Респект составителю задания за отсылку к Тени Е. Шварца (Христиан Теодор и Теодор Христиан)
Спасибо за этот курс, очень сложно и интересно! Некоторые вещи меня сильно бесили, что хотелось бросить все от безнадеги, но потом появлялись идеи, и все получалось. Сильнее всего меня поломали декораторы, мега крутая штука, и достаточно сложная для понимания и самое страшное "отладки" :)