LibCoder

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

1C Agda Python
Python. Книга рецептов
Дата выхода: 2019
Издательство: ДМК Пресс
Количество страниц: 649
Размер файла: 2,6 МБ
Тип файла: PDF
Добавил: LibCoder
Оглавление
Python Книга рецептов_новый лого переплет....1 Книга рецептов Python_макет (1).pdf....2 задача....17 решение....17 обсуждение....21 задача-1....21 решение-1....22 обсуждение-1....23 задача-2....24 решение-2....24 обсуждение-2....24 поиск-n-максимальных-и-минимальных-элеме....27 задача-3....27 решение-3....27 обсуждение-3....27 реализация-очереди-с-приоритетом....29 задача-4....28 решение-4....28 обсуждение-4....28 отображение-ключей-на-несколько-значений....33 задача-5....30 решение-5....30 обсуждение-5....30 поддержание-порядка-в-словарях....35 задача-6....31 решение-6....31 обсуждение-6....31 вычисления-на-словарях....36 задача-7....32 решение-7....32 обсуждение-7....32 задача-8....33 решение-8....33 обсуждение-8....34 задача-9....34 решение-9....34 обсуждение-9....35 задача-10....35 решение-10....35 обсуждение-10....38 определение-наиболее-часто-встречающихся....39 проблема....39 решение-11....39 обсуждение-11....39 сортировка-списка-словарей-по-общему-клю....41 задача-11....40 решение-12....40 обсуждение-12....41 сортировка-объектов-не-поддерживающих-ср....44 задача-12....41 решение-13....41 обсуждение-13....42 группирование-записей-на-основе-полей....46 задача-13....42 решение-14....42 обсуждение-14....42 фильтрование-элементов-последовательност....48 задача-14....43 решение-15....43 обсуждение-15....44 задача-15....45 решение-16....45 обсуждение-16....45 задача-16....46 решение-17....46 обсуждение-17....49 одновременное-преобразование-и-сокращени....52 задача-17....50 решение-18....50 обсуждение-18....51 объединение-нескольких-отображений-в-одн....54 задача-18....52 решение-19....52 обсуждение-19....52 строки-и-текст....57 разрезание-строк-разделенных-различными-....58 задача-19....53 решение-20....53 поиск-текста-в-начале-и-в-конце-строки....60 задача-20....55 решение-21....55 обсуждение-20....55 задача-21....56 решение-22....56 обсуждение-21....57 задача-22....57 решение-23....57 обсуждение-22....58 поиск-и-замена-текста....63 задача-23....62 решение-24....62 обсуждение-23....63 поиск-и-замена-текста-без-учета-регистра....65 задача-24....63 решение-25....63 обсуждение-24....64 определение-регулярных-выражений-для-пои....66 задача-25....64 решение-26....64 обсуждение-25....65 написание-регулярного-выражения-для-мног....68 задача-26....65 решение-27....65 обсуждение-26....65 приведение-текста-в-unicode-к-стандартно....70 задача-27....66 решение-28....66 обсуждение-27....67 использование-символов-unicode-в-регуляр....73 задача-28....67 решение-29....68 обсуждение-28....68 задача-29....68 решение-30....68 обсуждение-29....69 решение-31....69 решение-32....69 выравнивание-текстовых-строк....74 задача-30....74 решение-33....74 обсуждение-31....74 объединение-и-конкатенация-строк....76 задача-31....75 решение-34....75 обсуждение-32....76 интерполяция-переменных-в-строках....80 задача-32....77 решение-35....77 обсуждение-33....78 разбивка-текста-на-фиксированное-количес....84 задача-33....79 решение-36....79 обсуждение-34....80 задача-34....80 решение-37....80 обсуждение-35....80 задача-35....81 решение-38....81 обсуждение-36....82 задача-36....83 решение-39....83 обсуждение-37....88 задача-37....91 решение-40....91 обсуждение-38....92 решение-41....98 обсуждение-39....98 выполнение-точных-вычислений-с-десятичны....100 задача-39....99 решение-42....99 обсуждение-40....100 форматирование-чисел-для-вывода....104 задача-40....101 решение-43....101 обсуждение-41....101 работа-с-бинарными-восьмеричными-и-шестн....107 задача-41....102 решение-44....102 обсуждение-42....103 упаковка-и-распаковка-больших-целых-чисе....110 задача-42....104 решение-45....104 обсуждение-43....104 задача-43....105 решение-46....105 обсуждение-44....105 задача-44....106 решение-47....106 обсуждение-45....106 решение-48....107 обсуждение-46....108 задача-46....108 решение-49....108 обсуждение-47....113 вычисления-с-матрицами-и-линейная-алгебр....116 задача-47....113 решение-50....113 обсуждение-48....114 случайный-выбор....118 решение-51....114 обсуждение-49....115 перевод-дней-в-секунды-и-другие-базовые-....121 задача-49....116 решение-52....116 обсуждение-50....117 определение-даты-последней-пятницы....122 задача-50....117 решение-53....117 обсуждение-51....118 задача-51....119 решение-54....119 обсуждение-52....119 задача-52....120 решение-55....120 обсуждение-53....120 задача-53....121 решение-56....121 обсуждение-54....125 итераторы-и-генераторы....128 ручное-прохождение-по-итератору....129 решение-57....126 делегирование-итерации....130 задача-55....127 решение-58....128 обсуждение-56....128 создание-новых-итерационных-паттернов-с-....132 задача-56....128 решение-59....128 обсуждение-57....129 реализация-протокола-итератора....134 задача-57....129 обсуждение-58....130 итерирование-в-обратном-порядке....137 задача-58....131 решение-61....131 обсуждение-59....132 задача-59....132 решение-62....132 обсуждение-60....132 задача-60....133 решение-63....133 обсуждение-61....133 задача-61....134 решение-64....134 обсуждение-62....135 итерирование-по-всем-возможным-комбинаци....139 задача-62....138 обсуждение-63....139 итерирование-по-парам-индекс-значение-по....141 задача-63....140 решение-66....140 обсуждение-64....141 одновременное-итерирование-по-нескольким....145 задача-64....141 решение-67....141 обсуждение-65....142 итерирование-по-элементам-находящимся-в-....147 проблема-1....142 решение-68....143 обсуждение-66....143 создание-каналов-для-обработки-данных....149 задача-65....144 решение-69....144 обсуждение-67....145 задача-66....147 решение-70....147 обсуждение-68....147 задача-67....148 решение-71....148 обсуждение-69....148 решение-72....151 обсуждение-70....151 файлы-и-ввод-вывод....154 чтение-и-запись-текстовых-данных....154 решение-73....152 решение-74....153 обсуждение-71....154 перенаправление-вывода-в-файл....159 задача-69....155 решение-75....155 обсуждение-72....155 вывод-с-другим-разделителем-или-символом....160 задача-70....155 решение-76....155 обсуждение-73....155 чтение-и-запись-бинарных-данных....161 задача-71....156 решение-77....156 обсуждение-74....156 запись-в-файл-которого-ещё-нет....164 задача-72....157 решение-78....157 обсуждение-75....158 задача-73....158 решение-79....158 обсуждение-76....159 задача-74....159 решение-80....159 обсуждение-77....159 задача-75....160 решение-81....160 обсуждение-78....161 задача-76....161 решение-82....161 обсуждение-79....161 отображаемые-в-память-бинарные-файлы....165 задача-77....164 решение-83....164 обсуждение-80....165 манипулирование-путями-к-файлам....169 задача-78....166 решение-84....166 обсуждение-81....167 проверка-существования-файла....171 задача-79....167 решение-85....167 обсуждение-82....167 получение-содержимого-каталога....172 задача-80....168 решение-86....168 обсуждение-83....168 обход-кодировки-имен-файлов....174 задача-81....169 решение-87....169 обсуждение-84....170 задача-82....170 решение-88....170 обсуждение-85....170 задача-83....172 решение-89....172 обсуждение-86....172 задача-84....173 решение-90....173 обсуждение-87....176 оборачивание-существующего-дескриптора-ф....176 задача-85....176 решение-91....176 обсуждение-88....177 создание-временных-файлов-и-каталогов....180 задача-86....178 решение-92....178 обсуждение-89....179 работа-с-последовательными-портами....183 задача-87....179 обсуждение-90....180 сериализация-объектов-python....186 задача-88....180 решение-94....180 задача-89....183 решение-95....183 обсуждение-92....184 чтение-и-запись-в-формате-json....190 задача-90....188 решение-96....188 обсуждение-93....188 парсинг-простых-xml-данных....195 задача-91....191 обсуждение-94....191 задача-92....193 решение-98....193 обсуждение-95....197 преобразование-словарей-в-xml....200 задача-93....198 решение-99....198 обсуждение-96....199 парсинг-изменение-и-перезапись-xml....203 задача-94....200 решение-100....200 обсуждение-97....200 парсинг-xml-документов-с-пространствами-....205 задача-95....201 решение-101....201 обсуждение-98....202 задача-96....203 решение-102....203 обсуждение-99....204 задача-97....205 решение-103....205 обсуждение-100....205 задача-98....206 решение-104....206 обсуждение-101....206 задача-99....206 решение-105....209 обсуждение-102....209 чтение-вложенных-и-различных-по-размеру-....215 задача-100....212 решение-106....212 обсуждение-103....220 суммирование-данных-и-обсчёт-статистики....226 задача-101....222 решение-107....222 обсуждение-104....223 функции....229 определение-функций-принимающих-любое-ко....229 задача-102....223 решение-108....223 обсуждение-105....224 определение-функций-принимающих-только-и....231 задача-103....225 решение-109....225 обсуждение-106....226 задача-104....226 решение-110....226 обсуждение-107....227 задача-105....227 решение-111....227 обсуждение-108....227 задача-106....228 решение-112....228 обсуждение-109....228 определение-анонимных-функций-или-функци....234 задача-107....233 решение-113....233 обсуждение-110....233 захват-переменных-в-анонимных-функциях....236 задача-108....234 решение-114....234 обсуждение-111....234 заставляем-вызывамый-объект-с-n-аргумент....237 задача-109....235 решение-115....235 обсуждение-112....236 замена-классов-с-одним-методом-функциями....242 задача-110....238 решение-116....238 обсуждение-113....238 задача-111....238 решение-117....239 обсуждение-114....240 задача-112....241 решение-118....243 обсуждение-115....244 доступ-к-переменным-определенным-внутри-....248 задача-113....245 решение-119....245 обсуждение-116....245 классы-и-объекты....252 изменение-строкового-представления-экзем....253 задача-114....248 решение-120....248 обсуждение-117....248 настройка-строкового-форматирования....254 задача-115....249 решение-121....249 обсуждение-118....250 задача-116....250 решение-122....250 задача-117....252 решение-123....252 обсуждение-120....253 инкапсуляция-имён-в-классе....255 задача-118....255 решение-124....255 обсуждение-121....256 создание-управляемых-атрибутов....258 задача-119....256 решение-125....256 обсуждение-122....258 вызов-метода-родительского-класса....265 задача-120....259 решение-126....259 обсуждение-123....260 задача-121....263 решение-127....263 обсуждение-124....266 создание-нового-типа-атрибута-класса-или....270 задача-122....268 решение-128....268 обсуждение-125....269 использование-лениво-вычисляемых-свойств....275 решение-129....270 обсуждение-126....271 задача-124....272 решение-130....272 обсуждение-127....273 определение-интерфейса-или-абстрактного-....279 задача-125....278 решение-131....278 обсуждение-128....279 реализации-модели-данных-или-системы-тип....283 решение-132....280 решение-133....281 обсуждение-129....282 задача-126....285 решение-134....285 обсуждение-130....289 делегирование-доступа-к-атрибуту....291 задача-127....290 решение-135....290 обсуждение-131....292 определение-более-одного-конструктора-в-....297 задача-128....294 решение-136....294 обсуждение-132....294 создание-экземпляра-без-вызова-init....300 задача-129....295 решение-137....295 обсуждение-133....295 задача-130....296 решение-138....296 обсуждение-134....297 задача-131....302 решение-139....302 обсуждение-135....303 вызов-метода-объекта-с-передачей-имени-м....311 задача-132....306 решение-140....306 обсуждение-136....306 реализация-шаблона-проектирования-посети....313 задача-133....307 решение-141....307 обсуждение-137....309 реализация-шаблона-посетитель-без-рекурс....315 задача-134....314 обсуждение-138....316 управление-памятью-в-циклических-структу....324 задача-135....319 решение-143....319 обсуждение-139....319 задача-136....321 решение-144....321 обсуждение-140....325 создание-закэшированных-экземпляров....326 обсуждение-141....326 метапрограммирование....332 создание-обёртки-для-функции....333 задача-138....329 решение-146....329 обсуждение-142....329 сохранение-метаданных-функции-при-написа....336 задача-139....330 решение-147....330 обсуждение-143....331 задача-140....332 решение-148....332 обсуждение-144....332 задача-141....333 решение-149....333 обсуждение-145....333 задача-142....334 решение-150....334 обсуждение-146....338 определение-декоратора-принимающего-необ....340 задача-143....339 решение-151....339 обсуждение-147....339 принудительная-проверка-типов-в-функции-....343 задача-144....341 решение-152....341 обсуждение-148....341 задача-145....343 решение-153....343 обсуждение-149....344 задача-146....345 решение-154....345 обсуждение-150....346 применение-декораторов-к-методам-класса-....349 задача-147....349 решение-155....349 обсуждение-151....350 написание-декораторов-которые-добавляют-....353 задача-148....351 решение-156....351 обсуждение-152....351 использование-декораторов-как-патчей-опр....356 задача-149....353 решение-157....353 обсуждение-153....353 использование-метакласса-для-управления-....359 задача-150....354 решение-158....354 обсуждение-154....356 захват-порядка-определения-атрибутов-кла....362 задача-151....356 решение-159....356 обсуждение-155....357 задача-152....359 решение-160....359 обсуждение-156....362 принудительная-установка-аргументной-сиг....364 решение-161....363 обсуждение-157....364 принуждение-к-использованию-соглашений-о....368 решение-162....365 обсуждение-158....367 задача-155....368 решение-163....368 обсуждение-159....369 задача-156....370 решение-164....370 обсуждение-160....373 реализация-множественной-диспетчеризации....375 задача-157....374 решение-165....374 обсуждение-161....376 избежание-повторяющихся-методов-свойств....384 задача-158....378 решение-166....378 обсуждение-162....379 задача-159....379 решение-167....379 обсуждение-163....380 задача-160....380 решение-168....380 обсуждение-164....384 задача-161....386 решение-169....386 обсуждение-165....387 дизассемблирование-байт-кода-python....393 задача-162....389 решение-170....389 обсуждение-166....389 задача-163....391 решение-171....391 обсуждение-167....391 задача-164....392 решение-172....392 обсуждение-168....393 задача-165....393 решение-173....393 обсуждение-169....394 разделение-модуля-на-несколько-файлов....398 задача-166....397 решение-174....398 обсуждение-170....398 заставляем-отдельные-каталоги-с-кодом-им....401 задача-167....400 решение-175....400 обсуждение-171....400 перезагрузка-модулей....406 задача-168....401 решение-176....401 обсуждение-172....401 создание-каталога-или-zip-архива-запуска....407 задача-169....402 решение-177....402 обсуждение-173....403 задача-170....403 решение-178....403 обсуждение-174....404 задача-171....405 решение-179....405 обсуждение-175....405 задача-172....406 решение-180....406 обсуждение-176....406 задача-173....406 решение-181....407 обсуждение-177....414 применение-к-модулям-патчей-во-время-имп....427 задача-174....423 решение-182....423 обсуждение-178....424 задача-175....425 решение-183....426 обсуждение-179....426 задача-176....426 решение-184....426 обсуждение-180....426 задача-177....427 решение-185....427 обсуждение-181....430 модули-и-пакеты....432 сети-и-веб-программирование....432 взаимодействие-с-http-сервисами-в-роли-к....432 задача-178....431 обсуждение-182....433 создание-tcp-сервера....438 задача-179....434 решение-187....434 обсуждение-183....435 задача-180....436 решение-188....436 обсуждение-184....437 задача-181....438 решение-189....438 обсуждение-185....441 создание-простого-rest-интерфейса....442 задача-182....442 решение-190....442 обсуждение-186....443 реализация-простого-удалённого-вызова-пр....450 задача-183....446 решение-191....446 обсуждение-187....446 задача-184....447 решение-192....447 обсуждение-188....448 задача-185....449 решение-193....449 обсуждение-189....452 jsonrpcclient.py....455 простая-аутентификация-клиентов....455 задача-186....454 решение-194....454 обсуждение-190....455 добавление-ssl-в-сетевые-сервисы....459 задача-187....455 решение-195....455 обсуждение-191....458 передача-файловых-дескрипторов-сокетов-м....463 задача-188....462 решение-196....463 обсуждение-192....464 разбираемся-с-вводом-выводом-управляемым....470 задача-189....465 решение-197....466 отсылка-и-получение-больших-массивов....474 задача-190....473 решение-198....473 обсуждение-194....473 конкурентное-программирование....478 запуск-и-остановка-потоков....478 задача-191....475 решение-199....475 обсуждение-195....477 как-узнать-стартовал-ли-поток....484 задача-192....478 решение-200....478 обсуждение-196....479 задача-193....480 решение-201....480 обсуждение-197....485 блокировка-критически-важных-участков....489 задача-194....487 решение-202....487 обсуждение-198....487 задача-195....490 решение-203....490 обсуждение-199....491 задача-196....493 решение-204....493 обсуждение-200....495 создание-пула-потоков....497 задача-197....496 решение-205....496 обсуждение-201....497 простое-параллельное-программирование....502 задача-198....499 решение-206....499 обсуждение-202....499 задача-199....502 решение-207....502 обсуждение-203....505 определение-акторной-задачи....508 задача-200....506 решение-208....506 обсуждение-204....508 реализация-системы-сообщений-опубликоват....513 задача-201....509 решение-209....509 обсуждение-205....510 задача-202....512 решение-210....512 обсуждение-206....518 обсуждение-207....519 опрашивание-многопоточных-очередей....523 задача-203....520 решение-211....520 обсуждение-208....521 задача-204....522 решение-212....522 обсуждение-209....523 полезные-скрипты-и-системное-администрир....529 скрипты-принимающие-ввод-через-перенапра....529 задача-205....528 решение-213....528 обсуждение-210....528 завершение-программы-с-выводом-сообщения....531 решение-214....529 обсуждение-211....529 парсинг-аргументов-командной-строки....532 задача-207....529 решение-215....529 обсуждение-212....530 запрос-пароля-во-время-выполнения....536 задача-208....532 решение-216....532 обсуждение-213....532 задача-209....532 решение-217....532 обсуждение-214....532 задача-210....532 решение-218....532 обсуждение-215....533 задача-211....534 решение-219....534 обсуждение-216....535 создание-и-распаковка-архивов....538 задача-212....538 решение-220....538 обсуждение-217....538 поиск-файлов-по-имени....539 задача-213....538 решение-221....538 обсуждение-218....539 чтение-конфигурационных-файлов....542 задача-214....539 решение-222....539 обсуждение-219....540 добавление-логирования-в-простые-скрипты....546 задача-215....542 решение-223....542 обсуждение-220....543 задача-216....544 решение-224....544 обсуждение-221....544 задача-217....545 решение-225....545 обсуждение-222....546 задача-218....546 решение-226....549 обсуждение-223....550 запуск-браузера....551 задача-219....550 решение-227....550 обсуждение-224....551 тестирование-отдадка-и-исключения....553 тестирование-отправки-вывода-в-stdout....553 задача-220....551 решение-228....552 патчинг-объектов-в-юнит-тестах....557 задача-221....553 решение-229....553 обсуждение-226....553 проверка-вызывающих-исключения-условий-в....561 задача-222....555 решение-230....555 обсуждение-227....556 задача-223....556 решение-231....556 обсуждение-228....557 задача-224....558 решение-232....558 обсуждение-229....558 обработка-множественных-исключений....561 задача-225....561 решение-233....561 обсуждение-230....561 ловим-все-исключения....564 задача-226....562 решение-234....562 обсуждение-231....562 создание-собственных-исключений....565 задача-227....563 решение-235....563 обсуждение-232....564 возбужение-исключения-в-ответ-на-другое-....569 задача-228....565 решение-236....565 обсуждение-233....566 задача-229....567 решение-237....567 обсуждение-234....567 задача-230....567 решение-238....567 обсуждение-235....568 задача-231....569 решение-239....569 обсуждение-236....570 профилирование-и-замеры-времени-выполнен....573 решение-240....573 обсуждение-237....574 заставляем-ваши-программы-выполняться-бы....577 задача-233....575 решение-241....575 обсуждение-238....578 задача-234....580 решение-242....580 обсуждение-239....584 задача-235....588 решение-243....588 обсуждение-240....589 задача-236....591 решение-244....591 обсуждение-241....592 управление-непрозрачными-указателями-в-м....596 задача-237....595 решение-245....595 обсуждение-242....596 определение-и-экспортирование-с-api-из-м....600 задача-238....597 решение-246....597 обсуждение-243....599 задача-239....601 решение-247....601 обсуждение-244....602 освобождение-gil-в-расширениях-на-c....609 задача-240....607 решение-248....607 обсуждение-245....608 смешивание-потоков-из-c-и-python....610 задача-241....608 решение-249....608 обсуждение-246....609 оборачивание-кода-на-c-в-swig....613 задача-242....609 решение-250....609 обсуждение-247....610 задача-243....613 решение-251....613 обсуждение-248....617 использование-cython-для-высокопроизводи....624 задача-244....620 решение-252....620 обсуждение-249....621 задача-245....623 решение-253....624 обсуждение-250....624 передача-null-терминированных-строк-библ....627 задача-246....627 решение-254....627 обсуждение-251....628 передача-строк-unicode-в-библиотеки-на-c....632 задача-247....630 решение-255....630 обсуждение-252....631 задача-248....633 решение-256....633 обсуждение-253....634 задача-249....634 решение-257....634 обсуждение-254....635 передача-имён-файлов-в-расширения-на-с....640 задача-250....639 решение-258....639 обсуждение-255....640 передача-открытых-файлов-в-расширения-на....641 задача-251....640 обсуждение-256....641 чтение-файлоподобных-объектов-из-c....644 задача-252....641 решение-260....641 обсуждение-257....642 задача-253....643 решение-261....643 обсуждение-258....643 задача-254....644 обсуждение-259....644 Предисловие....13 Благодарности....17 Об авторе....18 Колофон....19 Вступительное слово....20 Структуры данных и алгоритмы....21 1.1. Распаковка последовательности в отдельные переменные....21 1.2. Распаковка элементов из последовательностей произвольной длины....23 1.3. Оставляем N последних элементов....25 1.4. Поиск N максимальных и минимальных элементов....27 1.5. Реализация очереди с приоритетом....28 1.6. Отображение ключей на несколько значений в словаре....31 1.7. Поддержание порядка в словарях....32 1.8. Вычисления со словарями....33 1.9. Поиск общих элементов в двух словарях....35 1.10. Удаление дубликатов из последовательности с сохранением порядка элементов....36 1.11. Присваивание имен срезам....37 1.12. Определение наиболее часто встречающихся элементов в последовательности....39 1.13. Сортировка списка словарей по общему ключу....41 1.14. Сортировка объектов, не поддерживающих сравнение....42 1.15. Группирование записей на основе полей....43 1.16. Фильтрование элементов последовательности....45 1.17. Извлечение подмножества из словаря....47 1.18. Отображение имен на последовательность элементов....48 1.19. Одновременное преобразование и сокращение (свертка) данных....51 1.20. Объединение нескольких отображений в одно....52 Строки и текст....55 2.1. Разрезание строк различными разделителями....55 2.2. Поиск текста в начале и в конце строки....56 2.3. Поиск строк с использованием масок оболочки (shell)....58 2.4. Поиск совпадений и поиск текстовых паттернов....59 2.5. Поиск и замена текста....62 2.6. Поиск и замена текста без учета регистра....64 2.7. Определение регулярных выражений для поиска кратчайшего совпадения....65 2.8. Написание регулярного выражения для многострочных шаблонов....66 2.9. Нормализация текста в Unicode к стандартному представлению....67 2.10. Использование символов Unicode в регулярных выражениях....69 2.11. Срезание нежелательных символов из строк....70 2.12. Чистка строк....71 2.13. Выравнивание текстовых строк....74 2.14. Объединение и конкатенация строк....75 2.15. Интерполяция переменных в строках....78 2.16. Разбивка текста на фиксированное количество колонок....80 2.17. Работа с HTML- и XML-сущностями в тексте....81 2.18. Токенизация текста....83 2.19. Написание простого парсера на основе метода рекурсивного спуска....85 2.20. Выполнение текстовых операций над байтовыми строками....94 Числа, даты и время....98 3.1. Округление числовых значений....98 3.2. Выполнение точных вычислений с десятичными дробями....99 3.3. Форматирование чисел для вывода....101 3.4. Работа с бинарными, восьмеричными и шестнадцатеричными целыми числами....103 3.5. Упаковка и распаковка больших целых чисел из байтовых строк....105 3.6. Вычисления с комплексными числами....106 3.7. Работа с бесконечными значениями и NaN....108 3.8. Вычисления с дробями....110 3.9. Вычисления на больших массивах чисел....111 3.10. Вычисления с матрицами и линейная алгебра....114 3.11. Случайный выбор....116 3.12. Перевод дней в секунды и другие базовые методы конвертации времени....118 3.13. Определение даты последней пятницы....120 3.14. Поиск диапазона дат для текущего месяца....121 3.15. Конвертирование строк в даты и время....123 3.16. Манипулирование датами с учетом временных зон....124 Итераторы и генераторы....127 4.1. Ручное прохождение по итератору....127 4.2. Делегирование итерации....128 4.3. Создание новых итерационных паттернов с помощью генераторов....129 4.4. Реализация протокола итератора....131 4.5. Итерирование в обратном порядке....133 4.6. Определение генератора с дополнительным состоянием....134 4.7. Получение среза итератора....135 4.8. Пропуск первой части итерируемого объекта....136 4.9. Итерирование по всем возможным комбинациям и перестановкам....138 4.10. Итерирование по парам «индекс–значение» последовательности....140 4.11. Одновременное итерирование по нескольким последовательностям....142 4.12. Итерирование по элементам, находящимся в отдельных контейнерах....144 4.13. Создание каналов для обработки данных....145 4.14. Превращение вложенной последовательности в плоскую....148 4.15. Последовательное итерирование по слитым отсортированным итерируемым объектам....150 4.16. Замена бесконечных циклов while итератором....151 Файлы и ввод-вывод....153 5.1. Чтение и запись текстовых данных....153 5.2. Перенаправление вывода в файл....155 5.3. Вывод с другим разделителем или символом конца строки....156 5.4. Чтение и запись бинарных данных....157 5.5. Запись в файл, которого еще нет....159 5.6. Выполнение операций ввода-вывода над строками....160 5.7. Чтение и запись сжатых файлов с данными....161 5.8. Итерирование по записям фиксированного размера....162 5.9. Чтение бинарных данных в изменяемый (мутабельный) буфер....163 5.10. Отображаемые в память бинарные файлы....164 5.11. Манипулирование путями к файлам....167 5.12. Проверка существования файла....168 5.13. Получение содержимого каталога....169 5.14. Обход кодировки имен файлов....170 5.15. Вывод «плохих» имен файлов....171 5.16. Добавление или изменение кодировки уже открытого файла....173 5.17. Запись байтов в текстовый файл....175 5.18. Оборачивание существующего дескриптора файла для использования в качестве объекта файла....176 5.19. Создание временных файлов и каталогов....178 5.20. Работа с последовательными портами....180 5.21. Сериализация объектов Python....181 Кодирование и обработка данных....185 6.1. Чтение и запись данных в формате CSV....185 6.2. Чтение и запись в формате JSON....188 6.3. Парсинг простых XML-данных....193 6.4. Пошаговый парсинг очень больших XML-файлов....195 6.5. Преобразование словарей в XML....199 6.6. Парсинг, изменение и перезапись XML....200 6.7. Парсинг XML-документов с пространствами имен....202 6.8. Взаимодействие с реляционной базой данных....204 6.9. Декодирование и кодирование шестнадцатеричных цифр....207 6.10. Кодирование и декодирование в Base64....208 6.11. Чтение и запись бинарных массивов структур....209 6.12. Чтение вложенных и различных по размеру бинарных структур....213 6.13. Суммирование данных и обсчет статистики....223 Функции....226 7.1. Определение функций, принимающих любое количество аргументов....226 7.2. Определение функций, принимающих только именованные аргументы....227 7.3. Прикрепление информационных метаданных к аргументам функций....228 7.4. Возвращение функцией нескольких значений....229 7.5. Определение функций с аргументами по умолчанию....230 7.6. Определение анонимных функций или встроенных функций (inline)....233 7.7. Захват переменных в анонимных функциях....234 7.8. Заставляем вызываемый объект с N аргументами работать так же, как вызываемый объект с меньшим количеством аргументов....235 7.9. Замена классов с одним методом функциями....239 7.10. Передача дополнительного состояния с функциями обратного вызова....240 7.11. Встроенные функции обратного вызова....243 7.12. Доступ к переменным, определенным внутри замыкания....246 Классы и объекты....249 8.1. Изменение строкового представления экземпляров....249 8.2. Настройка строкового форматирования....250 8.3. Создание объектов, поддерживающих протокол менеджера контекста....252 8.4. Экономия памяти при создании большого количества экземпляров....254 8.5. Инкапсуляция имен в классе....255 8.6. Создание управляемых атрибутов....257 8.7. Вызов метода родительского класса....261 8.8. Расширение свойства в подклассе....265 8.9. Создание нового типа атрибута класса или экземпляра....269 8.10. Использование лениво вычисляемых свойств....272 8.11. Упрощение инициализации структур данных....275 8.12. Определение интерфейса или абстрактного базового класса....278 8.13. Реализации модели данных или системы типов....281 8.14. Реализация собственных контейнеров....287 8.15. Делегирование доступа к атрибуту....291 8.16. Определение более одного конструктора в классе....295 8.17. Создание экземпляра без вызова init....296 8.18. Расширение классов с помощью миксин (mixins)....298 8.19. Реализация объектов с состоянием или конечных автоматов....303 8.20. Вызов метода объекта с передачей имени метода в строке....308 8.21. Реализация шаблона проектирования «Посетитель»....310 8.22. Реализация шаблона «Посетитель» без рекурсии....314 8.23. Управление памятью в циклических структурах данных....320 8.24. Заставляем классы поддерживать операции сравнения....324 8.25. Создание закешированных экземпляров....326 Метапрограммирование....330 9.1. Создание обертки для функции....330 9.2. Сохранение метаданных функции при написании декораторов....332 9.3. Снятие («разворачивание») декоратора....333 9.4. Определение декоратора, принимающего аргументы....335 9.5. Определение декоратора с настраиваемыми пользователем атрибутами....336 9.6. Определение декоратора, принимающего необязательный аргумент....339 9.7. Принудительная проверка типов в функции с использованием декоратора....341 9.8. Определение декораторов как части класса....345 9.9. Определение декораторов как классов....347 9.10. Применение декораторов к методам класса и статическим методам....349 9.11. Написание декораторов, которые добавляют аргументы обернутым функциям....351 9.12. Использование декораторов для исправления определений классов....354 9.13. Использование метакласса для управления созданием экземпляров....356 9.14. Захват порядка определения атрибутов класса....358 9.15. Определение метакласса, принимающего необязательные аргументы....361 9.16. Принудительная установка аргументной сигнатуры при использовании *args и **kwargs....363 9.17. Принуждение к использованию соглашений о кодировании в классах....366 9.18. Программное определение классов....369 9.19. Инициализация членов класса во время определения....372 9.20. Реализация множественной диспетчеризации с помощью аннотаций функций....374 9.21. Избежание повторяющихся методов свойств....380 9.22. Легкий способ определения менеджеров контекста....382 9.23. Выполнение кода с локальными побочными эффектами....384 9.24. Парсинг и анализ исходного кода Python....386 9.25. Дизассемблирование байт-кода Python....390 Модули и пакеты....394 10.1. Создание иерархического пакета модулей....394 10.2. Контроль импортирования....395 10.3. Импортирование подмодулей пакета с использованием относительных имен....396 10.4. Разделение модуля на несколько файлов....398 10.5. Создание отдельных каталогов с кодом для импорта под общим пространством имен....400 10.6. Перезагрузка модулей....402 10.7. Создание каталога или zip-архива, запускаемых как основной скрипт....403 10.8. Чтение файлов с данными внутри пакета....404 10.9. Добавление каталогов в sys.path....405 10.10. Импортирование модулей с использованием имени, передаваемого в форме строки ....407 10.11. Загрузка модулей с удаленного компьютера с использованием хуков импортирования....408 10.12. Применение к модулям изменений при импорте....424 10.13. Установка пакетов «только для себя»....427 10.14. Создание нового окружения Python....427 10.15. Распространение пакетов....429 Сети и веб-программирование....431 11.1. Взаимодействие с HTTP-сервисами в роли клиента....431 11.2. Создание TCP-сервера....435 11.3. Создание UDP-сервера....438 11.4. Генерация диапазона IP-адресов из CIDR-адреса....440 11.5. Создание простого REST-интерфейса....442 11.6. Реализация простого удаленного вызова процедуры через XML-RPC....447 11.7. Простое взаимодействие между интерпретаторами....449 11.8. Реализация удаленного вызова процедур....451 11.9. Простая аутентификация клиентов....454 11.10. Добавление SSL в сетевые сервисы....456 11.11. Передача файловых дескрипторов сокетов между процессами....462 11.12. Разбираемся с вводом-выводом, управляемым событиями (event-driven I/0)....467 11.13. Отсылка и получение больших массивов....473 Конкурентность....476 12.1. Запуск и остановка потоков....476 12.2. Как узнать, стартовал ли поток....479 12.3. Коммуникация между потоками....482 12.4. Блокировка критически важных участков....487 12.5. Блокировка с избежанием дедлока....490 12.6. Хранение специфичного состояния потока....494 12.7. Создание пула потоков....496 12.8. Простое параллельное программирование....499 12.9. Разбираемся с GIL (и перестаем волноваться по этому поводу)....503 12.10. Определение акторной задачи....506 12.11. Реализация системы сообщений «опубликовать/подписаться» (pub/sub)....510 12.12. Использование генераторов в качестве альтернативы потокам....513 12.13. Опрашивание многопоточных очередей....521 12.14. Запуск процесса-демона на Unix....524 Полезные скрипты и системное администрирование....528 13.1. Скрипты, принимающие ввод через перенаправление, каналы или файлы....528 13.2. Завершение программы с выводом сообщения об ошибке....529 13.3. Парсинг аргументов командной строки....530 13.4. Запрос пароля во время выполнения....533 13.5. Получение размера окна терминала....533 13.6. Выполнение внешней команды и получение ее вывода....534 13.7. Копирование или перемещение файлов и каталогов....536 13.8. Создание и распаковка архивов....538 13.9. Поиск файлов по имени....538 13.10. Чтение конфигурационных файлов....540 13.11. Добавление логирования в простые скрипты....543 13.12. Добавление логирования в библиотеки....546 13.13. Создание таймера-секундомера....547 13.14. Установка лимитов на использование памяти и CPU....549 13.15. Запуск браузера....550 Тестирование, отладка и исключения....552 14.1. Тестирование отправки вывода в stdout....552 14.2. Изменение объектов в юнит-тестах....553 14.3. Проверка вызывающих исключения условий в рамках юнит-тестов....557 14.4. Логирование вывода теста в файл....558 14.5. Пропуск или ожидание провалов тестов....560 14.6. Обработка множественных исключений....561 14.7. Ловим все исключения....563 14.8. Создание собственных исключений....564 14.9. Возбужение исключения в ответ на другое исключение....566 14.10. Повторное возбуждение последнего исключения....568 14.11. Вывод предупреждающих сообщений....569 14.12. Отладка основных сбоев программы....570 14.13. Профилирование и замеры времени выполнения вашей программы....573 14.14. Заставляем ваши программы выполняться быстрее....575 Расширения на языке C....581 15.1. Доступ к коду на C с использованием ctypes....582 15.2. Написание простого модуля расширения на C....589 15.3. Написание функции расширения для работы с массивами....593 15.4. Управление непрозрачными указателями в модулях расширения на C....595 15.5. Определение и экспортирование С API из модулей расширения....598 15.6. Вызываем Python из С....602 15.7. Освобождение GIL в расширениях на C....608 15.8. Объединение потоков из C и Python....608 15.9. Оборачивание кода на C в Swig....609 15.10. Оборачивание существующего кода на C в Cython....614 15.11. Использование Cython для высокопроизводительных операций над массивами....621 15.12. Превращение указателя на функцию в вызываемый объект....625 15.13. Передача строк с нулевым символом библиотекам на C....627 15.14. Передача строк Unicode в библиотеки на C....631 15.15. Преобразование строк C в Python....635 15.16. Работа со строками C в сомнительной кодировке....636 15.17. Передача имен файлов в расширения на С....639 15.18. Передача открытых файлов в расширения на С....640 15.19. Чтение файлоподобных объектов из C....642 15.20. Потребление итерируемого объекта из С....644 15.21. Диагностика ошибок сегментации....645 Для дальнейшего изучения....647 Веб-сайты....647 Книги, посвященные языку Python....648 Книги для углубленного изучения Python....648

Описание

Ниже — практический обзор по теме «python».

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

Если материал оказался полезен — сохраните страницу.

python книга языке кода также рецептов если нужна

Частые вопросы

Можно ли скачать «Python. Книга рецептов» бесплатно?

Да, «Python. Книга рецептов» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.

В каком формате и какого размера файл?

Книга предоставляется в формате PDF, размер файла 2,6 МБ.

Кто автор и когда вышла книга?

автор — Бизли Дэвид , Джонс Брайан К., издательство ДМК Пресс, год выпуска 2019, 649 страниц.

О чём книга «Python. Книга рецептов»?

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

Похожие материалы