курс

Python: Функции

2759 студентов 1311 сообщений
Последнее обновление: 21 марта 2024
Курс Python: Функции
3 900 ₽ в месяц
за все курсы Хекслета
Зарегистрироваться
  • Тренажер с практикой
  • Бессрочный доступ к теории
  • Асинхронный формат
    обучения

Включено в курс

15 уроков (видео и/или текст)
27 упражнений в тренажере
40 проверочных тестов
Помощь в «Обсуждениях»
Доступ к остальным курсам платформы

Чему вы научитесь

  • Использовать продвинутые возможности функций для написания лаконичного и эффективного кода
  • Отделять чистые функции от функций с побочными эффектами
  • Использовать функции высшего порядка (map/filter/reduce) для обработки списков
  • Отличать императивную парадигму программирования от декларативной (функциональной)
  • Реализовывать и применять декораторы к функциям

Описание

На этом курсе вы изучите функции. Вы узнаете, что такое объекты первого рода, безымянные лямбда-функции и функции высшего порядка. Вы научитесь использовать функции внутри других функций, использовать встроенные операции map, filter, reduce и писать обертки для расширения функционала. Знания из этого курса помогут проектировать лаконичные и эффективные программы, отделять побочные эффекты от чистого кода.

Функции — это основная абстракция для построения программ. Но прежде чем изучать их, нужно освоить базовый синтаксис языка программирования. Также будет полезно повторить курсы по коллекциям, то есть спискам и словарям:

Правильную последовательность курсов можно найти в программе профессии Python-разработчик.

Программа курса

Продолжительность 18 часов
  • 1

    Введение

    Узнаем о курсе, его структуре, задачах и целях
  • 2

    Позиционные аргументы

    Узнаем, как объявлять функции с разным количеством аргументов и как передавать функции аргументы, упакованные в коллекцию

    тесты

    упражнение

  • 3

    Именованные аргументы

    Узнаем, что у функций в Python кроме позиционных есть еще и именованные аргументы, и научимся использовать их

    тесты

    упражнение

  • 4

    Больше об именованных аргументах

    Узнаем, как получать произвольное количество именованных аргументов, как передавать их в виде коллекции и как объявлять keyword-only-аргументы

    тесты

    упражнение

  • 5

    Операторы упаковки и распаковки

    Узнаем, как производить упаковку и распаковку итерабельных объектов и словарей

    тесты

    упражнение

  • 6

    Функции высшего порядка

    Узнаем, что такое функции высшего порядка и как их объявлять

    тесты

    упражнение

  • 7

    Знакомство с map, filter и reduce

    Познакомимся с самыми известными функциями высшего порядка — `map`, `filter` и `reduce`

    тесты

    упражнение

  • 8

    Чистые функции

    Узнаем о чистых и грязных функциях и научимся определять места их применения

    тесты

    упражнение

  • 9

    Встроенные map, filter, reduce

    Узнаем об особенностях встроенных версий ФВП из прошлого урока. Порассуждаем о важности использования чистых функций вместе с map, filter и reduce

    тесты

    упражнение

  • 10

    Замыкания

    Познакомимся с концепцией замыканий — неотъемлемой частью программирования с использованием функций, создаваемых «на лету»

    тесты

    упражнение

  • 11

    Анонимные функции

    Познакомимся со специальным синтаксисом, который позволяет объявлять маленькие функции без имен прямо внутри выражений

    тесты

    упражнение

  • 12

    Декораторы

    Узнаем о декораторах — интересном и мощном инструменте, который выделяет Python среди многих других языков, поддерживающих использование ФВП

    тесты

    упражнение

  • 13

    Больше о декораторах

    Научимся создавать декораторы с параметрами. Узнаем, как создавать декоратор так, чтобы сохранялись документация и прочие свойства оборачиваемой функции

    тесты

    упражнение

  • 14

    Рекурсия

    Познакомимся с понятием рекурсии и узнаем об отличиях между рекурсией в математике и рекурсией в языках программирования

    тесты

    упражнение

  • 15

    Заключение

    Подводим итоги курса
  • 16

    Дополнительные материалы

    Статьи и видео, подобранные командой Хекслета. Помогут глубже погрузиться в тему курса

Формат обучения

Испытания

Это практические задания, которые мы советуем выполнить после завершения курса. Задания помогут вам получить дополнительный опыт в программировании и закрепить полученные навыки. Обычно мы рекомендуем выполнить 3-5 испытаний. Но если не получается, не отчаивайтесь. Просто вернитесь к ним позже

#
Задание
% завершений

Отзывы

Аватар пользователя Dmitry Sidorko
Dmitry Sidorko 27 декабря 2023

Когда мем превращается в реальность на серьезных щах "Придумывание имен в программировании — одна из основных проблем."


Аватар пользователя user-1402c0c30260d637
user-1402c0c30260d637 12 октября 2023

Респект составителю задания за отсылку к Тени Е. Шварца (Христиан Теодор и Теодор Христиан)


Аватар пользователя Mikhail Korolkevich
Mikhail Korolkevich 25 июля 2020

Спасибо за этот курс, очень сложно и интересно! Некоторые вещи меня сильно бесили, что хотелось бросить все от безнадеги, но потом появлялись идеи, и все получалось. Сильнее всего меня поломали декораторы, мега крутая штука, и достаточно сложная для понимания и самое страшное "отладки" :)

Рекомендуемые программы

профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Django
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка фронтенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
от 6 183 ₽ в месяц
Ручное тестирование веб-приложений
4 месяца
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка приложений на языке Java
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 025 ₽ в месяц
новый
Сбор, анализ и интерпретация данных
9 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка веб-приложений на Laravel
10 месяцев
с нуля
Старт 25 апреля
профессия
от 5 840 ₽ в месяц
Создание веб-приложений со скоростью света
5 месяцев
c опытом
Старт 25 апреля
профессия
от 9 900 ₽ в месяц
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
16 месяцев
с нуля
Старт 25 апреля
профессия
от 6 300 ₽ в месяц
Разработка бэкенд-компонентов для веб-приложений
10 месяцев
с нуля
Старт 25 апреля
профессия
новый
Автоматизированное тестирование веб-приложений на JavaScript
8 месяцев
c опытом
в разработке
Старт 25 апреля
профессия
Верстка с использованием последних стандартов CSS
5 месяцев
с нуля
Старт в любое время