Python. Книга рецептов

В наличии Цена за шт.

1500

Количество
Купить

Акции и скидки Поделиться


  • Артикул:00-01041205
  • Автор: Бизли Д., Джонс Б.К.
  • ISBN: 978-5-97060-751-0
  • Тираж: 200 экз.
  • Обложка: Твердый переплет
  • Издательство: ДМК пресс (все книги издательства)
  • Город: Москва
  • Страниц: 648
  • Формат: 70х100 1/16
  • Год: 2019
  • Вес: 1767 г
Развернуть ▼

Если вам нужна помощь в разработке программ на языке Python 3 или вы планируете заняться обновлением старого кода на Python 2, эта книга - ваш счастливый билет. Она наполнена практическими примерами, разработанными и протестированными в среде Python 3.3, поэтому станет уникальным подспорьем для опытных программистов, желающих сконцентрироваться на современных инструментах и идиомах.
В книге приведены полноценные рецепты, охватывающие свыше 10 основных тем Python, а также задачи, имеющие широкий спектр областей применения. Каждый рецепт содержит примеры кода, которые вы можете использовать в своих проектах, а также включает обсуждение принципов работы данного решения.

Содержание
Предисловие
Благодарности
Об авторе
Колофон
Вступительное слово
Глава 1. Структуры данных и алгоритмы
1.1. Распаковка последовательности в отдельные переменные
1.2. Распаковка элементов из последовательностей произвольной длины
1.3. Оставляем N последних элементов
1.4. Поиск N максимальных и минимальных элементов
1.5. Реализация очереди с приоритетом
1.6. Отображение ключей на несколько значений в словаре
1.7. Поддержание порядка в словарях
1.8. Вычисления со словарями
1.9. Поиск общих элементов в двух словарях
1.10. Удаление дубликатов из последовательности с сохранением порядка элементов
1.11. Присваивание имен срезам
1.12. Определение наиболее часто встречающихся элементов в последовательности
1.13. Сортировка списка словарей по общему ключу
1.14. Сортировка объектов, не поддерживающих сравнение
1.15. Группирование записей на основе полей
1.16. Фильтрование элементов последовательности
1.17. Извлечение подмножества из словаря
1.18. Отображение имен на последовательность элементов
1.19. Одновременное преобразование и сокращение (свертка) данных
1.20. Объединение нескольких отображений в одно
Глава 2. Строки и текст
2.1. Разрезание строк различными разделителями
2.2. Поиск текста в начале и в конце строки
2.3. Поиск строк с использованием масок оболочки (shell)
2.4. Поиск совпадений и поиск текстовых паттернов
2.5. Поиск и замена текста
2.6. Поиск и замена текста без учета регистра
2.7. Определение регулярных выражений для поиска кратчайшего совпадения
2.8. Написание регулярного выражения для многострочных шаблонов
2.9. Нормализация текста в Unicode к стандартному представлению
2.10. Использование символов Unicode в регулярных выражениях
2.11. Срезание нежелательных символов из строк
2.12. Чистка строк
2.13. Выравнивание текстовых строк
2.14. Объединение и конкатенация строк
2.15. Интерполяция переменных в строках
2.16. Разбивка текста на фиксированное количество колонок
2.17. Работа с HTML- и XML-сущностями в тексте
2.18. Токенизация текста
2.19. Написание простого парсера на основе метода рекурсивного спуска
2.20. Выполнение текстовых операций над байтовыми строками
Глава 3. Числа, даты и время
3.1. Округление числовых значений
3.2. Выполнение точных вычислений с десятичными дробями
3.3. Форматирование чисел для вывода
3.4. Работа с бинарными, восьмеричными и шестнадцатеричными целыми числами
3.5. Упаковка и распаковка больших целых чисел из байтовых строк
3.6. Вычисления с комплексными числами
3.7. Работа с бесконечными значениями и NaN
3.8. Вычисления с дробями
3.9. Вычисления на больших массивах чисел
3.10. Вычисления с матрицами и линейная алгебра
3.11. Случайный выбор
3.12. Перевод дней в секунды и другие базовые методы конвертации времени
3.13. Определение даты последней пятницы
3.14. Поиск диапазона дат для текущего месяца
3.15. Конвертирование строк в даты и время
3.16. Манипулирование датами с учетом временных зон
Глава 4. Итераторы и генераторы
4.1. Ручное прохождение по итератору
4.2. Делегирование итерации
4.3. Создание новых итерационных паттернов с помощью генераторов
4.4. Реализация протокола итератора
4.5. Итерирование в обратном порядке
4.6. Определение генератора с дополнительным состоянием
4.7. Получение среза итератора
4.8. Пропуск первой части итерируемого объекта
4.9. Итерирование по всем возможным комбинациям и перестановкам
4.10. Итерирование по парам «индекс-значение» последовательности
4.11. Одновременное итерирование по нескольким последовательностям
4.12. Итерирование по элементам, находящимся в отдельных контейнерах
4.13. Создание каналов для обработки данных
4.14. Превращение вложенной последовательности в плоскую
4.15. Последовательное итерирование по слитым отсортированным итерируемым объектам
4.16. Замена бесконечных циклов while итератором
Глава 5. Файлы и ввод-вывод
5.1. Чтение и запись текстовых данных
5.2. Перенаправление вывода в файл
5.3. Вывод с другим разделителем или символом конца строки
5.4. Чтение и запись бинарных данных
5.5. Запись в файл, которого еще нет
5.6. Выполнение операций ввода-вывода над строками
5.7. Чтение и запись сжатых файлов с данными
5.8. Итерирование по записям фиксированного размера
5.9. Чтение бинарных данных в изменяемый (мутабельный) буфер
5.10. Отображаемые в память бинарные файлы
5.11. Манипулирование путями к файлам
5.12. Проверка существования файла
5.13. Получение содержимого каталога
5.14. Обход кодировки имен файлов
5.15. Вывод «плохих» имен файлов
5.16. Добавление или изменение кодировки уже открытого файла
5.17. Запись байтов в текстовый файл
5.18. Оборачивание существующего дескриптора файла для использования в качестве объекта файла
5.19. Создание временных файлов и каталогов
5.20. Работа с последовательными портами
5.21. Сериализация объектов Python
Глава 6. Кодирование и обработка данных
6.1. Чтение и запись данных в формате CSV
6.2. Чтение и запись в формате JSON
6.3. Парсинг простых XML-данных
6.4. Пошаговый парсинг очень больших XML-файлов
6.5. Преобразование словарей в XML
6.6. Парсинг, изменение и перезапись XML
6.7. Парсинг XML-документов с пространствами имен
6.8. Взаимодействие с реляционной базой данных
6.9. Декодирование и кодирование шестнадцатеричных цифр
6.10. Кодирование и декодирование в Base64
6.11. Чтение и запись бинарных массивов структур
6.12. Чтение вложенных и различных по размеру бинарных структур
6.13. Суммирование данных и обсчет статистики
Глава 7. Функции
7.1. Определение функций, принимающих любое количество аргументов
7.2. Определение функций, принимающих только именованные аргументы
7.3. Прикрепление информационных метаданных к аргументам функций
7.4. Возвращение функцией нескольких значений
7.5. Определение функций с аргументами по умолчанию
7.6. Определение анонимных функций или встроенных функций (inline)
7.7. Захват переменных в анонимных функциях
7.8. Заставляем вызываемый объект с N аргументами работать так же, как вызываемый объект с меньшим количеством аргументов
7.9. Замена классов с одним методом функциями
7.10. Передача дополнительного состояния с функциями обратного вызова
7.11. Встроенные функции обратного вызова
7.12. Доступ к переменным, определенным внутри замыкания
Глава 8. Классы и объекты
8.1. Изменение строкового представления экземпляров
8.2. Настройка строкового форматирования
8.3. Создание объектов, поддерживающих протокол менеджера контекста
8.4. Экономия памяти при создании большого количества экземпляров
8.5. Инкапсуляция имен в классе
8.6. Создание управляемых атрибутов
8.7. Вызов метода родительского класса
8.8. Расширение свойства в подклассе
8.9. Создание нового типа атрибута класса или экземпляра
8.10. Использование лениво вычисляемых свойств
8.11. Упрощение инициализации структур данных
8.12. Определение интерфейса или абстрактного базового класса
8.13. Реализации модели данных или системы типов
8.14. Реализация собственных контейнеров
8.15. Делегирование доступа к атрибуту
8.16. Определение более одного конструктора в классе
8.17. Создание экземпляра без вызова init
8.18. Расширение классов с помощью миксин (mixins)
8.19. Реализация объектов с состоянием или конечных автоматов
8.20. Вызов метода объекта с передачей имени метода в строке
8.21. Реализация шаблона проектирования «Посетитель»
8.22. Реализация шаблона «Посетитель» без рекурсии
8.23. Управление памятью в циклических структурах данных
8.24. Заставляем классы поддерживать операции сравнения
8.25. Создание закешированных экземпляров
Глава 9. Метапрограммирование
9.1. Создание обертки для функции
9.2. Сохранение метаданных функции при написании декораторов
9.3. Снятие («разворачивание») декоратора
9.4. Определение декоратора, принимающего аргументы
9.5. Определение декоратора с настраиваемыми пользователем атрибутами
9.6. Определение декоратора, принимающего необязательный аргумент
9.7. Принудительная проверка типов в функции с использованием декоратора
9.8. Определение декораторов как части класса
9.9. Определение декораторов как классов
9.10. Применение декораторов к методам класса и статическим методам
9.11. Написание декораторов, которые добавляют аргументы обернутым функциям
9.12. Использование декораторов для исправления определений классов
9.13. Использование метакласса для управления созданием экземпляров
9.14. Захват порядка определения атрибутов класса
9.15. Определение метакласса, принимающего необязательные аргументы
9.16. Принудительная установка аргументной сигнатуры при использовании *args и **kwargs
9.17. Принуждение к использованию соглашений о кодировании в классах
9.18. Программное определение классов
9.19. Инициализация членов класса во время определения
9.20. Реализация множественной диспетчеризации с помощью аннотаций функций
9.21. Избежание повторяющихся методов свойств
9.22. Легкий способ определения менеджеров контекста
9.23. Выполнение кода с локальными побочными эффектами
9.24. Парсинг и анализ исходного кода Python
9.25. Дизассемблирование байт-кода Python
Глава 10. Модули и пакеты
10.1. Создание иерархического пакета модулей
10.2. Контроль импортирования
10.3. Импортирование подмодулей пакета с использованием относительных имен
10.4. Разделение модуля на несколько файлов
10.5. Создание отдельных каталогов с кодом для импорта под общим пространством имен
10.6. Перезагрузка модулей
10.7. Создание каталога или zip-архива, запускаемых как основной скрипт
10.8. Чтение файлов с данными внутри пакета
10.9. Добавление каталогов в sys.path
10.10. Импортирование модулей с использованием имени, передаваемого в форме строки
10.11. Загрузка модулей с удаленного компьютера с использованием хуков импортирования
10.12. Применение к модулям изменений при импорте
10.13. Установка пакетов «только для себя»
10.14. Создание нового окружения Python
10.15. Распространение пакетов
Глава 11. Сети и веб-программирование
11.1. Взаимодействие с HTTP-сервисами в роли клиента
11.2. Создание TCP-сервера
11.3. Создание UDP-сервера
11.4. Генерация диапазона IP-адресов из CIDR-адреса
11.5. Создание простого REST-интерфейса
11.6. Реализация простого удаленного вызова процедуры через XML-RPC
11.7. Простое взаимодействие между интерпретаторами
11.8. Реализация удаленного вызова процедур
11.9. Простая аутентификация клиентов
11.10. Добавление SSL в сетевые сервисы
11.11. Передача файловых дескрипторов сокетов между процессами
11.12. Разбираемся с вводом-выводом, управляемым событиями (event-driven I/0)
11.13. Отсылка и получение больших массивов
Глава 12. Конкурентность
12.1. Запуск и остановка потоков
12.2. Как узнать, стартовал ли поток
12.3. Коммуникация между потоками
12.4. Блокировка критически важных участков
12.5. Блокировка с избежанием дедлока
12.6. Хранение специфичного состояния потока
12.7. Создание пула потоков
12.8. Простое параллельное программирование
12.9. Разбираемся с GIL (и перестаем волноваться по этому поводу)
12.10. Определение акторной задачи
12.11. Реализация системы сообщений «опубликовать/подписаться» (pub/sub)
12.12. Использование генераторов в качестве альтернативы потокам
12.13. Опрашивание многопоточных очередей
12.14. Запуск процесса-демона на Unix
Глава 13. Полезные скрипты и системное администрирование
13.1. Скрипты, принимающие ввод через перенаправление, каналы или файлы
13.2. Завершение программы с выводом сообщения об ошибке
13.3. Парсинг аргументов командной строки
13.4. Запрос пароля во время выполнения
13.5. Получение размера окна терминала
13.6. Выполнение внешней команды и получение ее вывода
13.7. Копирование или перемещение файлов и каталогов
13.8. Создание и распаковка архивов
13.9. Поиск файлов по имени
13.10. Чтение конфигурационных файлов
13.11. Добавление логирования в простые скрипты
13.12. Добавление логирования в библиотеки
13.13. Создание таймера-секундомера
13.14. Установка лимитов на использование памяти и CPU
13.15. Запуск браузера
Глава 14. Тестирование, отладка и исключения
14.1. Тестирование отправки вывода в stdout
14.2. Изменение объектов в юнит-тестах
14.3. Проверка вызывающих исключения условий в рамках юнит-тестов
14.4. Логирование вывода теста в файл
14.5. Пропуск или ожидание провалов тестов
14.6. Обработка множественных исключений
14.7. Ловим все исключения
14.8. Создание собственных исключений
14.9. Возбужение исключения в ответ на другое исключение
14.10. Повторное возбуждение последнего исключения
14.11. Вывод предупреждающих сообщений
14.12. Отладка основных сбоев программы
14.13. Профилирование и замеры времени выполнения вашей программы
14.14. Заставляем ваши программы выполняться быстрее
Глава 15. Расширения на языке C
15.1. Доступ к коду на C с использованием ctypes
15.2. Написание простого модуля расширения на C
15.3. Написание функции расширения для работы с массивами
15.4. Управление непрозрачными указателями в модулях расширения на C
15.5. Определение и экспортирование С API из модулей расширения
15.6. Вызываем Python из С
15.7. Освобождение GIL в расширениях на C
15.8. Объединение потоков из C и Python
15.9. Оборачивание кода на C в Swig
15.10. Оборачивание существующего кода на C в Cython
15.11. Использование Cython для высокопроизводительных операций над массивами
15.12. Превращение указателя на функцию в вызываемый объект
15.13. Передача строк с нулевым символом библиотекам на C
15.14. Передача строк Unicode в библиотеки на C
15.15. Преобразование строк C в Python
15.16. Работа со строками C в сомнительной кодировке
15.17. Передача имен файлов в расширения на С
15.18. Передача открытых файлов в расширения на С
15.19. Чтение файлоподобных объектов из C
15.20. Потребление итерируемого объекта из С
15.21. Диагностика ошибок сегментации
Приложение А. Для дальнейшего изучения
Веб-сайты
Книги, посвященные языку Python
Книги для углубленного изучения Python


Оставьте отзыв о товаре
Рекомендуем
×

Диски

Журналы и бланки

Журналы для автодорог, дорожного хозяйстваЖурналы для АЗС и АЗГСЖурналы для аптекЖурналы для архивовЖурналы для аттракционовЖурналы для банковЖурналы для бассейновЖурналы для бухгалтерииЖурналы для газовых хозяйств, газораспределительных систем, ГАЗПРОМаЖурналы для гостиниц, общежитий, хостеловЖурналы для грузоподъемных механизмовЖурналы для делопроизводстваЖурналы для драгметалловЖурналы для ЖКХЖурналы для канатных дорог, фуникулеровЖурналы для кладбищЖурналы для конструкторских, научно-техническая документацияЖурналы для лесных хозяйствЖурналы для лифтовЖурналы для медицинских учрежденийЖурналы для МЧСЖурналы для нефтебазЖурналы для нефтепромысла, нефтепроводовЖурналы для образовательных учрежденийЖурналы для парикмахерских, салонов красоты, маникюрных, педикюрных кабинетовЖурналы для проверки и контроля госорганами, контролирующими организациямиЖурналы для промышленностиЖурналы для работ с повышенной опасностьюЖурналы для регулирования алкогольного рынкаЖурналы для сельских хозяйств, ветеринарииЖурналы для складовЖурналы для снегоплавильных пунктовЖурналы для стройки, строительстваЖурналы для тепловых энергоустановок, котельныхЖурналы для транспортаЖурналы для туризмаЖурналы для учреждений культуры, библиотек, музеевЖурналы для церкви, религиозных организацийЖурналы для шахт, рудников, метрополитенов, подземных сооруженийЖурналы для электроустановокЖурналы и бланки для армии, вооруженных силЖурналы и бланки для нотариусов, юристов, адвокатовЖурналы и бланки для организаций пищевого производства, общепита и пищевых блоковЖурналы и бланки для организаций, занимающихся охраной объектов и частных лицЖурналы и бланки для ФТС РФ (таможни)Журналы и бланки по экологииЖурналы и бланки, используемые в торговле, бытовом обслуживанииЖурналы и бланки, относящиеся к нескольким отраслямЖурналы по геодезии, геологииЖурналы по метрологииЖурналы по охране труда и технике безопасностиЖурналы по пожарной безопасностиЖурналы по психологииЖурналы по санитарии, проверкам СЭСЖурналы по связиЖурналы по эксплуатации зданий и сооруженийЖурналы по энергетикеЖурналы, бланки, формы для кадровых работЖурналы, бланки, формы документов для органов прокуратуры и суда, минюста, пенитенциарной системыЖурналы, бланки, формы документов МВД РФ, РосгвардииКомплекты документов и журналовОбложки для журналов и удостоверенийСамокопирующиеся бланки

Знаки безопасности, таблички, стенды

Вспомогательные знаки, таблички-наклейкиЗапрещающие знакиЗнаки для инвалидовЗнаки для уборки и сбора мусораЗнаки на автомобильЗнаки пожарной безопасностиЗнаки электробезопасностиИнформационные знаки для строительных площадокМедицинские и санитарные знакиНаклейкиПредписывающие знакиПредупреждающие знакиСтендыУказательные знакиЭвакуационные знакиЮмористические знаки

Календари

Книги

Букинистическая литератураГОСТы, ОСТыДетская литератураДомашний кругДругоеИскусство. Культура. ФилологияКниги в электронном видеКниги издательства "Комсомольская правда"Компьютеры и интернетКосмосНаука. Техника. МедицинаНормативные правовые актыОбщественные и гуманитарные наукиОхрана труда, обеспечение безопасностиПодарочные книгиПутешествия. Отдых. Хобби. СпортРелигия. Оккультизм. ЭзотерикаРостехнадзорСанПины, СП, МУ, МР, ГНСборники рецептур блюд для предприятий общественного питанияСНиП, СП, СО,СТО, РД, НП, ПБ, МДК, МДС, ВСНУчебный годХудожественная литератураЭкономическая литератураЭнциклопедии, справочники, словари

Курвиметры

Ленты с тиснением

Линейки

Авиационные и военные линейкиДетские линейкиМедицинские линейкиПортновские линейкиТехнические линейкиТрафареты с чертежными шрифтамиЧертежные линейки

Маркировочная продукция

Маркировка трубопровода "Вода"Маркировка трубопровода "Воздух"Маркировка трубопровода "Газ"Маркировка трубопровода "Жидкость"Маркировка трубопровода "Кислота"Маркировка трубопровода "Пар"Маркировка трубопровода "Прочие вещества"Маркировка трубопровода "Щелочь"

Материалы для типографии (мини-типографии)

Бумага для оргтехникиКлейПереплетные материалыПленка для печати и ламинацииФольга для тиснения

Металлические изделия (металлическая мебель, конструкции, навесы)

Металлическая мебельМеталлические изделия для дачи и дома

Носки и портянки

Одноразовая одежда

Охрана труда

Печати и штампы

Медицинские печати и штампыОснастки, самонаборные штампыПечати и штампы для бухгалтерии и делопроизводстваПечати и штампы для водителейПечать фирмы (организации, компании, подразделения, отдела)Штампы по техническому контролю, учету и хранению

Плакаты

Погоны министерств и ведомств

Подарки нашим покупателям

Полотенца

Портреты знаменитых людей

Сувениры

Бизнес сувениры, корпоративные подаркиБрелкиГимн России. Эксклюзивное графическое оформление в багетном обрамленииГудки и Рожки охотничьиЗажигалкиКружки для термопереносаКружки подарочныеПодарочные наборы игрПредметы интерьераСувениры, подарки для мужчин

Тир

Рогатки спортивные

Ткани

Товары "Юнармия"

Береты

Товары для дома и офиса

Грамоты и благодарностиИндикаторы стерилизацииКанцелярские товарыКаски, защитные очки, маскиКухонные принадлежностиОгнетушителиПланы эвакуацииСамоспасателиСредства дезинфекцииТовары для ремонтаФитолампы и прожекторыХозяйственные товарыЭлектроудлинители, тройники, катушкиЭлектроустановочные изделия

Товары для здоровья, БАДы

Аюрведические товарыСредства гигиены, косметика из минералов Мертвого моря

Товары для развития, игрушки

Бумажные модели

Товары для спорта, туризма и охоты

Походные сумки, рюкзаки и мешочки для храненияСигнальное снаряжениеТовары для фитнеса

Удостоверения, Свидетельства

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

Упаковка, упаковочные материалы

Коробки картонные

Членские книжки

ГК, ГСК, членские книжки, пропуска и пр.Садоводческие книжки, членские книжки СНТ
;