Python для гиков
معرفی کتاب «Python для гиков» نوشتهٔ Мухаммад Азиф [Muhammad Asif]، منتشرشده توسط نشر БХВ-Петербург در سال 2023. این کتاب در فرمت pdf، زبان ru ارائه شده است. «Python для гиков» در دستهٔ بدون دستهبندی قرار دارد.
Книга подробно рассказывает о разработке, развертывании и поддержке крупномасштабных проектов на Python. Представлены такие концепции, как итераторы, генераторы, обработка ошибок и исключений, обработка файлов и ведение журналов. Приведены способы автоматизации тестирования приложений и разработки через тестирование (TDD). Рассказано о написании приложений с использованием кластера Apache Spark для обработки больших данных, о разработке и развертывании бессерверных программ в облаке на примере Google Cloud Platform (GCP), о создании веб-приложений и REST API, использовании среды Flask. Показаны способы применения языка для создания, обучения и оценки моделей машинного обучения, а также их развертывания в облаке, описаны приемы использования Python для извлечения данных с сетевых устройств и систем управления сетью (NMS). Об авторе О рецензентах Предисловие Для кого предназначена эта книга О чем эта книга Как получить максимальную отдачу от книги Загрузка файлов с примерами кода Условные обозначения Раздел 1. Python помимо основ Глава 1. Оптимальный жизненный цикл разработки на Python Культура и сообщество Python Этапы проекта Python Стратегия процесса разработки Итерация по этапам Стремление к MVP в первую очередь Стратегия разработки для специализированных предметных областей Эффективное документирование кода Python Комментарии Python Docstring Документация на уровне функций или классов Разработка эффективной схемы именования Методы Переменные Константы Классы Пакеты Модули Соглашения об импорте Аргументы Полезные инструменты Системы контроля версий Что не стоит хранить в репозитории системы контроля версий Понимание стратегий развертывания кода Пакетная разработка Среды разработки Python IDLE Sublime Text Atom PyCharm Visual Studio Code PyDev Spyder Заключение Вопросы Дополнительные ресурсы Ответы Глава 2. Использование модулей для сложных проектов Технические требования Знакомство с модулями и пакетами Импорт модулей Оператор import Оператор __import Инструмент importlib.importmodule Абсолютный и относительный импорт Загрузка и инициализация модуля Загрузка модуля Установка параметров для специальных переменных Выполнение кода Стандартные модули Написание многоразовых модулей Независимая функциональность Генерализация функционала Традиционный стиль программирования Четко определенная документация Сборка пакетов Именование Файл инициализации пакета Сборка пакета Доступ к пакетам из любого расположения Общий доступ к пакету Создание пакета в соответствии с рекомендациями РуРА Установка из локального исходного кода с помощью pip Публикация пакета в Test PyPI Установка пакета из PyPI Заключение Вопросы Дополнительные ресурсы Ответы Глава 3. Расширенное объектно-ориентированное программирование на Python Технические требования Знакомство с классами и объектами Различия между атрибутами класса и атрибутами экземпляра Конструкторы и деструкторы классов Различия между методами класса и методами экземпляра Специальные методы Принципы ООП Инкапсуляция данных Объединение данных и действий Сокрытие информации Защита данных Традиционный подход к использованию геттеров и сеттеров Использование декоратора property Расширение классов с помощью наследования Простое наследование Множественное наследование Полиморфизм Перегрузка метода Переопределение метода Абстракция Композиция как альтернативный подход к проектированию Утиная типизация в Python Когда не стоит использовать ООП в Python Заключение Вопросы Дополнительные ресурсы Ответы Раздел 2. Расширенные концепции программирования Глава 4. Библиотеки Python для продвинутого программирования Технические требования Введение в контейнеры данных Python Строки Списки Кортежи Словари Множества Итераторы и генераторы для обработки данных Итераторы Генераторы Обработка файлов в Python Операции с файлами Обработка ошибок и исключений Работа с исключениями в Python Вызов исключений Определение пользовательских исключений Модуль logging в Python Основные компоненты системы легирования Работа с модулем logging Что стоит и не стоит записывать в журнал Заключение Вопросы Дополнительные ресурсы Ответы Глава 5. Тестирование и автоматизация с помощью Python Технические требования Понимание различных уровней тестирования Модульное тестирование Интеграционное тестирование Системное тестирование Приемочное тестирование Работа с тестовыми фреймворками Python Работа с фреймворком unittest Фреймворк тестирования pytest Разработка через тестирование Красный Зеленый Рефакторинг Автоматизированная непрерывная интеграция Заключение Вопросы Дополнительные ресурсы Ответы Глава 6. Дополнительные советы и приемы Python Технические требования Расширенные приемы использования функций в Python Функции counter, itertools и zip для итерационных задач Использование методов filter, map и reduce для преобразования данных Создание лямбда-функций Внедрение одной функции в другую Изменение поведения функции с помощью декораторов Расширенные концепции структур данных Внедрение словаря в словарь Использование включений Введение в Pandas DataFrame Операции с объектом DataFrame Сложные случаи использования DataFrame Заключение Вопросы Дополнительные ресурсы Ответы Раздел 3. Масштабирование за пределы одного потока Глава 7. Многопроцессорная обработка, многопоточность и асинхронное программирование Технические требования Многопоточность в Python и ее ограничения Слепое пятно Python Ключевые компоненты многопоточного программирования на Python Практический пример: многопоточное приложение для загрузки файлов с Google Диска Многопроцессорная обработка Создание нескольких процессов Обмен данными между процессами Обмен объектами между процессами Синхронизация процессов Практический пример: многопроцессорное приложение для загрузки файлов с Google Диска Асинхронное программирование для адаптивных систем Модуль asyncio Распределение задач с помощью очередей Практический пример: асинхронное приложение для загрузки файлов с Google Диска Заключение Вопросы Дополнительные ресурсы Ответы Глава 8. Масштабирование Python с помощью кластеров Технические требования Возможности кластеров для параллельной обработки Hadoop MapReduce Apache Spark Устойчивые распределенные наборы данных (RDD) Операции с RDD Создание RDD PySpark для параллельной обработки данных Создание программ SparkSession и SparkContext PySpark для операций с RDD PySpark DataFrames PySpark SQL Практические примеры использования Apache Spark и PySpark Пример 1: калькулятор числа п в Apache Spark Заключение Вопросы Дополнительные ресурсы Ответы Глава 9. Программирование на Python для облака Технические требования Знакомство с облачными возможностями для приложений Python Среды разработки Python для облака Облачные среды выполнения для Python Создание веб-сервисов Python для облачного развертывания Использование Google Cloud SDK Использование веб-консоли GCP Использование Google Cloud Platform для обработки данных Введение в основы Apache Beam Конвейеры Apache Beam Создание конвейеров для Cloud Dataflow Заключение Вопросы Дополнительные ресурсы Ответы Раздел 4. Python для веб-разработки, облака и сети Глава 10. Использование Python для разработки веб-приложений и REST API Технические требования Требования к веб-разработке Веб-фреймворки Пользовательский интерфейс Веб-сервер/сервер приложений База данных Безопасность API Документация Знакомство с фреймворком Flask Создание базового веб-приложения с маршрутизацией Обработка запросов с разными типами НТТР-методов Отображение статического и динамического контента Извлечение параметров из НТТР-запроса Взаимодействие с системами управления базами данных Обработка ошибок и исключений в веб-приложениях Создание REST API Использование Flask для REST API Разработка REST API для доступа к базе данных Пример: создание веб-приложения с помощью REST API Заключение Вопросы Дополнительные ресурсы Ответы Глава 11. Разработка микросервисов на Python Технические требования Введение в микросервисы Практические рекомендации по созданию микросервисов Создание приложений на базе микросервисов Варианты разработки микросервисов на Python Варианты развертывания микросервисов Разработка приложения на основе микросервисов Заключение Вопросы Дополнительные ресурсы Ответы Глава 12. Создание бессерверных функций на Python Технические требования Знакомство с бессерверными функциями Преимущества бессерверных функций Варианты использования Варианты развертывания бессерверных функций Написание бессерверных функций Создание облачной функции на основе HTTP с помощью консоли GCP Практический пример: создание приложения для уведомлений о событиях в облачном хранилище Заключение Вопросы Дополнительные ресурсы Ответы Глава 13. Python и машинное обучение Технические требования Введение в машинное обучение Использование Python для машинного обучения Библиотеки машинного обучения в Python Рекомендации по обучающим данным Создание и оценка модели машинного обучения Процесс построения модели машинного обучения Создание примера машинного обучения Оценка модели с помощью кросс-валидации и тонкой настройки гиперпараметров Сохранение ML-модели в файл Развертывание и прогнозирование ML-модели в GCP Cloud Заключение Вопросы Дополнительные ресурсы Ответы Глава 14. Python для автоматизации сети Технические требования Введение в автоматизацию сети Плюсы и минусы автоматизации сети Варианты использования Взаимодействие с сетевыми устройствами Протоколы для взаимодействия с сетевыми устройствами Взаимодействие с сетевыми устройствами с помощью библиотек Python на основе SSH Взаимодействие с сетевыми устройствами с помощью NETCONF Интеграция с системами управления сетью Использование конечных точек сервиса определения местоположения Получение токена аутентификации Получение сетевых устройств и инвентаризация интерфейсов Обновление порта на сетевом устройстве Интеграция с событийно-ориентированными системами Создание подписок для Apache Kafka Обработка событий от Apache Kafka Продление и удаление подписки Заключение Вопросы Дополнительные ресурсы Ответы Предметный указатель
دانلود کتاب Python для гиков