ГЛАВА 13 · СТР. 729

Автоматизация с помощью функций

Функции · декомпозиция · параметры · return · области видимости. Научимся превращать большие программы в понятные части: давать алгоритмам имена, передавать им данные, получать результаты, управлять областью видимости и переиспользовать код без копирования — идея, которая переносится на любой другой язык программирования.

~9 часов def, return, scope 27 практик
13.1Зачем программе функции73013.2Настоящая автоматизация. Первая функция73513.3Что происходит во время вызова73713.4Параметр и аргумент73813.5Изменяемые и неизменяемые аргументы74113.6Позиционные и именованные аргументы74613.7Значения по умолчанию и *args748Ловушка изменяемого значения по умолчанию13.8*args, **kwargs и распаковка75213.9Positional-only и keyword-only75513.10Возвращаем ответ75913.11Вход, работа, выход: чистые функции76313.12Глобальные и локальные переменные76613.13Вложенные функции и nonlocal77213.14Стек вызовов и traceback77513.15Проектируем хорошую функцию77913.16Докстринги и подсказки типов78313.17Функции как объекты78513.18Лямбда-функции78813.19Функции как конвейер79313.20Рефакторим проекты главы 1279413.21Debug Lab: типичные ошибки функций79713.22Тестируем функции80213.23Мини-проект — домашнее задание по математике80513.24Мини-проект — анализатор текста v280713.25Мини-проекты — конвертер и утилиты коллекций80813.26Мини-проект — Turtle Function Studio811Итоги главы