Python, 12 уроков для начинающих, Добряк П.В., 2023.
В 12 уроках показаны основы программирования и базовые конструкции языка Python. Изложены принципы различных стилей программирования. Даны понятия ввода-вывода, переменных, условий, потока чисел, циклов и списков, массивов, функций и рекурсий. Рассмотрены особенности структурного, объектно-ориентированного и функционального программирования. В каждой главе предложены практические задачи и дано их пошаговое решение с подробным описанием алгоритма.

Функциональное программирование.
На предыдущих двух уроках мы решили много разнообразных и интересных задач. Но их основа— только два приема программирования. Собственно, на функции был один прием — рекурсия, и на совместное использование функции и списка тоже один — мемоизация (кеш).
Но при использовании функций существует еще много приемов программирования. Они сводятся к тому, что функции могут обрабатывать (принимать в качестве аргументов и выдавать как ответ) не только простые данные (числа и буквы) и коллекции (строки, списки, многомерные списки, словари), но и другие функции. Такие функции называются функциями высших порядков (математики любят называть их функционалами). На этом уроке мы погрузимся в чарующий мир функционального программирования.
ОГЛАВЛЕНИЕ.
Введение.
Как обучают языкам программирования?.
И вот появился язык Python.
Структура книги.
Благодарности.
Об авторе.
Урок 1. Ввод/вывод, переменные, условия.
1.1. Привет, мир!.
1.2. Как тебя зовут?.
1.3. Чему равно 12 + 34?.
1.4. Линейное уравнение.
1.5. Тип треугольника.
1.6. Стакан чая и кружка кофе.
Урок 2. Поток чисел, циклы и списки.
2.1. Поток чисел, рекуррентные формулы.
2.2. Поток чисел, списки.
2.3. Векторы: длина, сумма, скалярное произведение.
Урок 3. Флаги. Структурное программирование и стиль Python.
3.1. Эпидемия на корабле.
3.2. Является ли слово палиндромом?.
3.3. Поиск и замена подстроки в строке.
3.4. Сравнение чисел между собой. Множества.
Урок 4. Словари, рекуррентный индекс в списке.
4.1. Палиндром путем перестановки букв.
4.2. Подстановки.
Урок 5. Двумерные списки.
5.1. Сложение, транспонирование и умножение матриц.
5.2. Магический квадрат.
Итоги уроков 1-5.
Урок 6. Декомпозиция программы и функции.
6.1. Математические формулы как функции.
6.2. Функция факториал с циклом.
6.3. Библиотека формул комбинаторики.
6.4. Декомпозиция магического квадрата в функции.
Урок 7. Рекурсии.
7.1. Рекурсивный факториал.
7.2. Числа Фибоначчи без списка, списком, с рекурсией.
7.3. Быстрое возведение в степень.
7.4. Мемоизация чисел Фибоначчи.
7.5. Генерация слов и перестановок.
Урок 8. Динамика по подотрезкам.
8.1. Палиндром максимальной длины вычеркиванием букв.
8.2. Максимальный квадрат в матрице.
Урок 9. Функциональное программирование.
9.1. Сумма факториалов в функциональном стиле.
9.2. Стандартные функционалы Python.
9.3. Стандартные функционалы для «Эпидемии на корабле».
9.4. Стандартные функционалы Python для суммы факториалов.
9.5. Частичное применение функции на примере степени.
9.6. Универсальный мемоизатор.
9.7. Декораторы.
9.8. Генераторы.
Итоги уроков 6-9.
Урок 10. Объектно-ориентированное программирование предметной области «Геометрия».
10.1. Класс «точка».
10.2. Предметная область «Геометрия».
10.3. Геометрическая фигура «многоугольник».
10.4. Составные фигуры.
Урок 11. Матрица в объектно-ориентированном стиле.
11.1. Конструктор, индексатор.
11.2. Транспонирование, сложение, умножение.
11.3. Определитель, обратная матрица, возведение в степень.
Урок 12. Программирование сложных коллекции.
12.1. Функторы.
12.2. Коллекция «кольцо» и задача Иосифа Флавия.
12.3. Мемоизация максимального квадрата матрицы в словаре.
Итоги уроков 10-12.
Предметный указатель.
Купить .
Теги: учебник по программированию :: программирование :: Добряк