Python для гиков: Создавайте эффективные приложения, используя лучшие практики программирования

Оглавление⌄
Об авторе....15 О рецензентах....16 Предисловие....17 Для кого предназначена эта книга....17 О чем эта книга....18 Как получить максимальную отдачу от книги....19 Загрузка файлов с примерами кода....19 Условные обозначения....20 Раздел 1. Python помимо основ....22 Глава 1. Оптимальный жизненный цикл разработки на Python....24 Культура и сообщество Python....24 Этапы проекта Python....27 Стратегия процесса разработки....28 Итерация по этапам....29 Стремление к MVP в первую очередь....29 Стратегия разработки для специализированных предметных областей....30 Эффективное документирование кода Python....33 Комментарии Python....33 Docstring....33 Документация на уровне функций или классов....35 Разработка эффективной схемы именования....36 Методы....37 Переменные....37 Константы....38 Классы....38 Пакеты....39 Модули....39 Соглашения об импорте....39 Аргументы....39 Полезные инструменты....39 Системы контроля версий....40 Что не стоит хранить в репозитории системы контроля версий....40 Понимание стратегий развертывания кода....41 Пакетная разработка....41 Среды разработки Python....43 IDLE....43 Sublime Text....43 Atom....43 PyCharm....43 Visual Studio Code....44 PyDev....44 Spyder....44 Заключение....44 Вопросы....45 Дополнительные ресурсы....45 Ответы....45 Глава 2. Использование модулей для сложных проектов....46 Технические требования....47 Знакомство с модулями и пакетами....47 Импорт модулей....47 Оператор import....49 Оператор __import....53 Инструмент importlib.importmodule....53 Абсолютный и относительный импорт....54 Загрузка и инициализация модуля....56 Загрузка модуля....56 Установка параметров для специальных переменных....56 Выполнение кода....57 Стандартные модули....58 Написание многоразовых модулей....59 Независимая функциональность....59 Генерализация функционала....60 Традиционный стиль программирования....61 Четко определенная документация....62 Сборка пакетов....63 Именование....64 Файл инициализации пакета....64 Сборка пакета....64 Доступ к пакетам из любого расположения....67 Общий доступ к пакету....71 Создание пакета в соответствии с рекомендациями РуРА....71 Установка из локального исходного кода с помощью pip....74 Публикация пакета в Test PyPI....76 Установка пакета из PyPI....77 Заключение....78 Вопросы....78 Дополнительные ресурсы....78 Ответы....79 Глава 3. Расширенное объектно-ориентированное программирование на Python....80 Технические требования....81 Знакомство с классами и объектами....81 Различия между атрибутами класса и атрибутами экземпляра....81 Конструкторы и деструкторы классов....84 Различия между методами класса и методами экземпляра....85 Специальные методы....86 Принципы ООП....87 Инкапсуляция данных....88 Объединение данных и действий....88 Сокрытие информации....90 Защита данных....92 Традиционный подход к использованию геттеров и сеттеров....92 Использование декоратора property....93 Расширение классов с помощью наследования....95 Простое наследование....95 Множественное наследование....97 Полиморфизм....98 Перегрузка метода....98 Переопределение метода....99 Абстракция....101 Композиция как альтернативный подход к проектированию....103 Утиная типизация в Python....105 Когда не стоит использовать ООП в Python....106 Заключение....107 Вопросы....107 Дополнительные ресурсы....108 Ответы....108 Раздел 2. Расширенные концепции программирования....110 Глава 4. Библиотеки Python для продвинутого программирования....112 Технические требования....112 Введение в контейнеры данных Python....113 Строки....113 Списки....114 Кортежи....115 Словари....115 Множества....116 Итераторы и генераторы для обработки данных....117 Итераторы....117 Генераторы....121 Обработка файлов в Python....123 Операции с файлами....124 Обработка ошибок и исключений....127 Работа с исключениями в Python....128 Вызов исключений....130 Определение пользовательских исключений....131 Модуль logging в Python....132 Основные компоненты системы легирования....133 Работа с модулем logging....135 Что стоит и не стоит записывать в журнал....141 Заключение....142 Вопросы....142 Дополнительные ресурсы....142 Ответы....142 Глава 5. Тестирование и автоматизация с помощью Python....144 Технические требования....145 Понимание различных уровней тестирования....145 Модульное тестирование....146 Интеграционное тестирование....146 Системное тестирование....146 Приемочное тестирование....147 Работа с тестовыми фреймворками Python....147 Работа с фреймворком unittest....149 Фреймворк тестирования pytest....158 Разработка через тестирование....166 Красный....166 Зеленый....167 Рефакторинг....167 Автоматизированная непрерывная интеграция....168 Заключение....169 Вопросы....169 Дополнительные ресурсы....169 Ответы....170 Глава 6. Дополнительные советы и приемы Python....171 Технические требования....171 Расширенные приемы использования функций в Python....172 Функции counter, itertools и zip для итерационных задач....172 Использование методов filter, map и reduce для преобразования данных....176 Создание лямбда-функций....179 Внедрение одной функции в другую....180 Изменение поведения функции с помощью декораторов....182 Расширенные концепции структур данных....188 Внедрение словаря в словарь....188 Использование включений....191 Введение в Pandas DataFrame....193 Операции с объектом DataFrame....194 Сложные случаи использования DataFrame....199 Заключение....204 Вопросы....205 Дополнительные ресурсы....205 Ответы....205 Раздел 3. Масштабирование за пределы одного потока....206 Глава 7. Многопроцессорная обработка, многопоточность и асинхронное программирование....208 Технические требования....209 Многопоточность в Python и ее ограничения....209 Слепое пятно Python....210 Ключевые компоненты многопоточного программирования на Python....211 Практический пример: многопоточное приложение для загрузки файлов с Google Диска....219 Многопроцессорная обработка....222 Создание нескольких процессов....222 Обмен данными между процессами....225 Обмен объектами между процессами....229 Синхронизация процессов....231 Практический пример: многопроцессорное приложение для загрузки файлов с Google Диска....232 Асинхронное программирование для адаптивных систем....234 Модуль asyncio....235 Распределение задач с помощью очередей....237 Практический пример: асинхронное приложение для загрузки файлов с Google Диска....239 Заключение....241 Вопросы....241 Дополнительные ресурсы....242 Ответы....242 Глава 8. Масштабирование Python с помощью кластеров....243 Технические требования....244 Возможности кластеров для параллельной обработки....244 Hadoop MapReduce....245 Apache Spark....247 Устойчивые распределенные наборы данных (RDD)....250 Операции с RDD....250 Создание RDD....251 PySpark для параллельной обработки данных....252 Создание программ SparkSession и SparkContext....254 PySpark для операций с RDD....255 PySpark DataFrames....258 PySpark SQL....262 Практические примеры использования Apache Spark и PySpark....263 Пример 1: калькулятор числа п в Apache Spark....263 Заключение....269 Вопросы....270 Дополнительные ресурсы....270 Ответы....271 Глава 9. Программирование на Python для облака....272 Технические требования....272 Знакомство с облачными возможностями для приложений Python....273 Среды разработки Python для облака....273 Облачные среды выполнения для Python....275 Создание веб-сервисов Python для облачного развертывания....277 Использование Google Cloud SDK....278 Использование веб-консоли GCP....285 Использование Google Cloud Platform для обработки данных....288 Введение в основы Apache Beam....288 Конвейеры Apache Beam....290 Создание конвейеров для Cloud Dataflow....295 Заключение....299 Вопросы....300 Дополнительные ресурсы....300 Ответы....301 Раздел 4. Python для веб-разработки, облака и сети....302 Глава 10. Использование Python для разработки веб-приложений и REST API....304 Технические требования....305 Требования к веб-разработке....305 Веб-фреймворки....305 Пользовательский интерфейс....306 Веб-серверсервер приложений....307 База данных....308 Безопасность....308 API....308 Документация....308 Знакомство с фреймворком Flask....309 Создание базового веб-приложения с маршрутизацией....309 Обработка запросов с разными типами НТТР-методов....311 Отображение статического и динамического контента....313 Извлечение параметров из НТТР-запроса....314 Взаимодействие с системами управления базами данных....316 Обработка ошибок и исключений в веб-приложениях....319 Создание REST API....322 Использование Flask для REST API....323 Разработка REST API для доступа к базе данных....325 Пример: создание веб-приложения с помощью REST API....327 Заключение....332 Вопросы....333 Дополнительные ресурсы....333 Ответы....333 Глава 11. Разработка микросервисов на Python....335 Технические требования....335 Введение в микросервисы....336 Практические рекомендации по созданию микросервисов....338 Создание приложений на базе микросервисов....339 Варианты разработки микросервисов на Python....340 Варианты развертывания микросервисов....341 Разработка приложения на основе микросервисов....342 Заключение....353 Вопросы....353 Дополнительные ресурсы....353 Ответы....354 Глава 12. Создание бессерверных функций на Python....355 Технические требования....356 Знакомство с бессерверными функциями....356 Преимущества бессерверных функций....357 Варианты использования....357 Варианты развертывания бессерверных функций....358 Написание бессерверных функций....359 Создание облачной функции на основе HTTP с помощью консоли GCP....360 Практический пример: создание приложения для уведомлений о событиях в облачном хранилище....364 Заключение....368 Вопросы....368 Дополнительные ресурсы....368 Ответы....368 Глава 13. Python и машинное обучение....370 Технические требования....371 Введение в машинное обучение....371 Использование Python для машинного обучения....373 Библиотеки машинного обучения в Python....373 Рекомендации по обучающим данным....375 Создание и оценка модели машинного обучения....376 Процесс построения модели машинного обучения....376 Создание примера машинного обучения....377 Оценка модели с помощью кросс-валидации и тонкой настройки гиперпараметров....382 Сохранение ML-модели в файл....385 Развертывание и прогнозирование ML-модели в GCP Cloud....386 Заключение....389 Вопросы....389 Дополнительные ресурсы....389 Ответы....390 Глава 14. Python для автоматизации сети....391 Технические требования....392 Введение в автоматизацию сети....392 Плюсы и минусы автоматизации сети....393 Варианты использования....394 Взаимодействие с сетевыми устройствами....395 Протоколы для взаимодействия с сетевыми устройствами....395 Взаимодействие с сетевыми устройствами с помощью библиотек Python на основе SSH....398 Взаимодействие с сетевыми устройствами с помощью NETCONF....405 Интеграция с системами управления сетью....409 Использование конечных точек сервиса определения местоположения....410 Получение токена аутентификации....411 Получение сетевых устройств и инвентаризация интерфейсов....412 Обновление порта на сетевом устройстве....413 Интеграция с событийно-ориентированными системами....415 Создание подписок для Apache Kafka....417 Обработка событий от Apache Kafka....418 Продление и удаление подписки....419 Заключение....419 Вопросы....420 Дополнительные ресурсы....420 Ответы....421 Предметный указатель....422
Описание
В этом материале разберём тему: python.
Представлены такие концепции, как итераторы, генераторы, обработка ошибок и исключений, обработка файлов и ведение журналов. Книга подробно рассказывает о разработке, развертывании и поддержке крупномасштабных проектов на Python. Приведены способы автоматизации тестирования приложений и разработки через тестирование (TDD). Показаны способы применения языка для создания, обучения и оценки моделей машинного обучения, а также их развертывания в облаке, описаны приемы использования Python для извлечения данных с сетевых устройств и систем управления сетью (NMS). Рассказано о написании приложений с использованием кластера Apache Spark для обработки больших данных, о разработке и развертывании бессерверных программ в облаке на примере Google Cloud Platform (GCP), о создании веб-приложений и REST API, использовании среды Flask.
Для программистов
Гик — человек, глубоко погруженный в мир компьютерных технологий, стремящийся досконально разобраться в наиболее важных мелочах и нюансах. Эта книга написана для гиков, увлеченных программированием на Python.
В ней подробно описан жизненный цикл крупномасштабного проекта на Python, показаны различные способы создания модульной архитектуры Python-проекта. Книга раскрывает методы оптимального использования Python как с точки зрения проектирования, так и реализации практических задач. Вы изучите лучшие практики и паттерны проектирования, узнаете, как масштабировать приложения на Python, как реализовать многопроцессорность и многопоточность. Вы изучите методы обработки данных, сосредоточитесь на создании микросервисов и научитесь использовать Python для автоматизации сетей и машинного обучения. Вы поймете, как можно использовать Python не только для развертывания на одной машине, но также в частных и публичных облачных средах. Наконец, вы узнаете, как применять описанные методы и практики в веб-разработке.
Вы изучите:Принципы разработки и управления сложными проектамиСпособы автоматизации тестирования приложений и разработки через тестирование (TDD)Многопоточность и многопроцессорность в PythonНаписание приложений с использованием кластера Apache Spark для обработки больших данныхРазработку и развертывание бессерверных программ в облаке на примере Google Cloud Platform (GCP)Создание на Python веб-приложений и REST API, использование среды FlaskИспользование Python для извлечения данных с сетевых устройств и систем управления сетью (NMS)Применение Python для анализа данных и машинного обучения
Если материал оказался полезен — сохраните страницу.
Поделиться
Частые вопросы
Можно ли скачать «Python для гиков: Создавайте эффективные приложения, используя лучшие практики программирования» бесплатно?
Да, «Python для гиков: Создавайте эффективные приложения, используя лучшие практики программирования» доступна для бесплатного скачивания на нашем сайте в формате PDF. Ссылка на файл находится на этой странице.
В каком формате и какого размера файл?
Книга предоставляется в формате PDF, размер файла 21,2 МБ.
Кто автор и когда вышла книга?
автор — Азиф Мухаммад, издательство БХВ-Петербург, год выпуска 2024, 434 страниц.
О чём книга «Python для гиков: Создавайте эффективные приложения, используя лучшие практики программирования»?
Книга подробно рассказывает о разработке, развертывании и поддержке крупномасштабных проектов на Python.