Python. Исчерпывающее руководство

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

Разнообразие возможностей современного Python становится испытанием для разработчиков всех уровней. Как программисту на старте карьеры понять, с чего начать, чтобы это испытание не стало для него непосильным? Как опытному разработчику Python понять, эффективен или нет его стиль программирования? Как перейти от изучения отдельных возможностей к мышлению на Python на более глубоком уровне? «Python. Исчерпывающее руководство» отвечает на эти, а также на многие другие актуальные вопросы. Эта книга делает акцент на основополагающих возможностях Python (3.6 и выше), а примеры кода демонстрируют «механику» языка и учат структурировать программы, чтобы их было проще читать, тестировать и отлаживать. Дэвид Бизли знакомит нас со своим уникальным взглядом на то, как на самом деле работает этот язык программирования. Перед вами практическое руководство, в котором компактно изложены такие фундаментальные темы программирования, как абстракции данных, управление программной логикой, структура программ, функции, объекты и модули, лежащие в основе проектов Python любого масштаба.

Author(s): Дэвид Бизли
Series: Для профессионалов
Edition: 1
Publisher: Питер
Year: 2023

Language: Russian
Commentary: Publisher's PDF
Pages: 368
City: СПб.
Tags: Programming; Data Structures; Python; Lambda Functions; Object-Oriented Programming; Packages; Generators; Standard Library; Exception Handling

Предисловие
Благодарности
Об авторе
От издательства
Глава 1. Основы Python
1.1. Запуск Python
1.2. Программы Python
1.3. Примитивы, переменные и выражения
1.4. Арифметические операторы
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. Структура приложения
1.21. Управление сторонними пакетами
1.22. Python подстраивается под ваши запросы
Глава 2. Операторы, выражения и обработка данных
2.1. Литералы
2.2. Выражения и адреса памяти
2.3. Стандартные операторы
2.4. Присваивание на месте
2.5. Сравнение объектов
2.6. Операторы порядкового сравнения
2.7. Логические выражения и квазиистинность
2.8. Условные выражения
2.9. Операции с итерируемыми объектами
2.10. Операции с последовательностями
2.11. Операции с изменяемыми последовательностями
2.12. Операции с множествами
2.13. Операции с отображениями
2.14. Включения списков, множеств и словарей
2.15. Выражения-генераторы
2.16. Оператор атрибута (.)
2.17. Оператор вызова функции ()
2.18. Порядок вычисления
2.19. Напоследок: тайная жизнь данных
Глава 3. Структура программы и управление последовательностью выполнения
3.1. Структура программы и выполнение
3.2. Условное выполнение
3.3. Циклы и перебор
3.4. Исключения
3.4.1. Иерархия исключений
3.4.2. Исключения и последовательность выполнения
3.4.3. Определение новых исключений
3.4.4. Цепочки исключений
3.4.5. Трассировка исключений
3.4.6. Рекомендации по обработке ошибок
3.5. Менеджеры контекста и команда with
3.6. Команды assert и __debug__
3.7. Напоследок
Глава 4. Объекты, типы и протоколы
4.1. Важнейшие концепции
4.2. Идентификатор объекта и его тип
4.3. Подсчет ссылок и сбор мусора
4.4. Ссылки и копии
4.5. Представление и вывод объектов
4.6. Первоклассные объекты
4.7. Использование None для необязательных или отсутствующих данных
4.8. Протоколы объектов и абстракции данных
4.9. Протокол объектов
4.10. Числовой протокол
4.11. Протокол сравнения
4.12. Протоколы преобразования
4.13. Протокол контейнера
4.14. Протокол итераций
4.15. Протокол атрибутов
4.16. Протокол функций
4.17. Протокол менеджера контекста
4.18. Напоследок: о коде Python
Глава 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. Анализ среды
5.22. Динамическое выполнение и создание кода
5.23. Асинхронные функции и await
5.24. Напоследок: о функциях и композиции
Глава 6. Генераторы
6.1. Генераторы и yield
6.2. Перезапускаемые генераторы
6.3. Делегирование
6.4. Практическое использование генераторов
6.5. Расширенные генераторы и выражения yield
6.6. Применения расширенных генераторов
6.7. Генераторы и их связь с await
6.8. Напоследок: краткая история и возможности генераторов
Глава 7. Классы и объектно-ориентированное программирование
7.1. Объекты
7.2. Команда class
7.3. Экземпляры
7.4. Обращения к атрибутам
7.5. Правила масштабирования
7.6. Перегрузка операторов и протоколы
7.7. Наследование
7.8. Отказ от наследования в пользу композиции
7.9. Замена наследования функциями
7.10. Динамическая и утиная типизации
7.11. Опасность наследования от встроенных типов
7.12. Переменные и методы класса
7.13. Статические методы
7.14. О паттернах проектирования
7.15. Инкапсуляция данных и приватные атрибуты
7.16. Аннотации типов
7.17. Свойства
7.18. Типы, интерфейсы и абстрактные базовые классы
7.19. Множественное наследование, интерфейсы и примеси
7.20. Диспетчеризация вызовов в зависимости от типа
7.21. Декораторы классов
7.22. Контролируемое наследование
7.23. Жизненный цикл объектов и управление памятью
7.24. Слабые ссылки
7.25. Внутреннее представление объектов и связывание атрибутов
7.26. Прокси, обертки и делегирование
7.27. Сокращение затрат памяти и __slots__
7.28. Дескрипторы
7.29. Процесс определения класса
7.30. Динамическое создание класса
7.31. Метаклассы
7.32. Встроенные объекты для экземпляров и классов
7.33. Напоследок: будьте проще
Глава 8. Модули и пакеты
8.1. Модули и команда import
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. Развертывание пакетов Python
8.17. Начинайте с пакета
8.18. Напоследок: будьте проще
Глава 9. Ввод/вывод
9.1. Представление данных
9.2. Кодирование и декодирование текста
9.3. Форматирование текста и байтов
9.4. Чтение параметров командной строки
9.5. Переменные среды
9.6. Файлы и объекты файлов
9.6.1. Имена файлов
9.6.2. Режимы открытия файлов
9.6.3. Буферизация ввода/вывода
9.6.4. Кодировка текстового режима
9.6.5. Обработка строк текста в текстовом режиме
9.7. Уровни абстракции ввода/вывода
9.7.1. Методы файлов
9.8. Стандартный ввод, вывод и поток ошибок
9.9. Каталоги
9.10. Функция print()
9.11. Генерация вывода
9.12. Потребление входных данных
9.13. Сериализация объектов
9.14. Блокирующие операции и параллелизм
9.14.1. Неблокирующий ввод/вывод
9.14.2. Опрос каналов ввода/вывода
9.14.3. Потоки
9.14.4. Параллельное выполнение в asyncio
9.15. Модули стандартной библиотеки
9.15.1. Модуль asyncio
9.15.2. Модуль binascii
9.15.3. Модуль cgi
9.15.4. Модуль configparser
9.15.5. Модуль csv
9.15.6. Модуль errno
9.15.7. Модуль fcntl
9.15.8. Модуль hashlib
9.15.9. Пакет http
9.15.10. Модуль io
9.15.11. Модуль json
9.15.12. Модуль logging
9.15.13. Модуль os
9.15.14. Модуль os.path
9.15.15. Модуль pathlib
9.15.16. Модуль re
9.15.17. Модуль shutil
9.15.18. Модуль select
9.15.19. Модуль smtplib
9.15.20. Модуль socket
9.15.21. Модуль struct
9.15.22. Модуль subprocess
9.15.23. Модуль tempfile
9.15.24. Модуль textwrap
9.15.25. Модуль threading
9.15.26. Модуль time
9.15.27. Пакет urllib
9.15.28. Модуль unicodedata
9.15.29. Пакет xml
9.16. Напоследок
Глава 10. Встроенные функции и стандартная библиотека
10.1. Встроенные функции
10.2. Встроенные исключения
10.2.1. Базовые классы исключений
10.2.2. Атрибуты исключений
10.2.3. Предварительно определенные классы исключений
10.3 Стандартная библиотека
10.3.1. Модуль collections
10.3.2. Модуль datetime
10.3.3. Модуль itertools
10.3.4. Модуль inspect
10.3.5. Модуль math
10.3.6. Модуль os
10.3.7. Модуль random
10.3.8. Модуль re
10.3.9. Модуль shutil
10.3.10. Модуль statistics
10.3.11. Модуль sys
10.3.12. Модуль time
10.3.13. Модуль turtle
10.3.14. Модуль unittest
10.4. Напоследок: использование встроенных модулей