Прохоренок Н., Дронов В. Python 3. Самое необходимое. 2-е изд.

Python 3. Самое необходимое. 2-е изд.

Описан базовый синтаксис языка Python 3: типы данных, операторы, условия, циклы, регулярные выражения, встроенные функции, объектно-ориентированное программирование, обработка исключений, часто используемые модули стандартной библиотеки и установка дополнительных модулей. Даны основы SQLite, описан интерфейс доступа к базам данных SQLite и MySQL, в том числе посредством ODBC. Рассмотрена работа с изображениями с помощью библиотек Pillow и Wand, получение данных из Интернета и использование архивов различных форматов. Книга содержит более двухсот практических примеров, помогающих начать программировать на языке Python самостоятельно. Весь материал тщательно подобран, хорошо структурирован и компактно изложен, что позволяет использовать книгу как удобный справочник.

Во втором издании описана актуальная версия Python — 3.6.4, добавлены описания утилиты pip, работы с данными в формате JSON, библиотеки Tkinter и разработки оконных приложений с ее помощью, реализации параллельного программирования и использования потоков для выполнения программного кода.

Оглавление книги Python 3. Самое необходимое. 1-е изд.

Введение

Глава 1. Первые шаги

1.1. Установка Python
    1.1.1. Установка нескольких интерпретаторов Python
    1.1.2. Запуск программы с помощью разных версий Python
1.2. Первая программа на Python
1.3. Структура программы
1.4. Комментарии
1.5. Скрытые возможности IDLE
1.6. Вывод результатов работы программы
1.7. Ввод данных
1.8. Доступ к документации

Глава 2. Переменные

2.1. Именование переменных
2.2. Типы данных
2.3. Присваивание значения переменным
2.4. Проверка типа данных
2.5. Преобразование типов данных
2.6. Удаление переменной

Глава 3. Операторы

3.1. Математические операторы
3.2. Двоичные операторы
3.3. Операторы для работы с последовательностями
3.4. Операторы присваивания
3.5. Приоритет выполнения операторов

Глава 4. Условные операторы и циклы

4.1. Операторы сравнения
4.2. Оператор ветвления if...else
4.3. Цикл for
4.4. Функции range() и enumerate()
4.5. Цикл while
4.6. Оператор continue. Переход на следующую итерацию цикла
4.7. Оператор break. Прерывание цикла

Глава 5. Числа

5.1. Встроенные функции и методы для работы с числами
5.2. Модуль math. Математические функции
5.3. Модуль random. Генерация случайных чисел

Глава 6. Строки и двоичные данные

6.1. Создание строки
6.2. Специальные символы
6.3. Операции над строками
6.4. Форматирование строк
6.5. Метод format()
6.6. Функции и методы для работы со строками
6.7. Настройка локали
6.8. Изменение регистра символов
6.9. Функции для работы с символами
6.10. Поиск и замена в строке
6.11. Проверка типа содержимого строки
6.12. Тип данных bytes
6.13. Тип данных bytearray
6.14. Преобразование объекта в последовательность байтов
6.15. Шифрование строк

Глава 7. Регулярные выражения

7.1. Синтаксис регулярных выражений
7.2. Поиск первого совпадения с шаблоном
7.3. Поиск всех совпадений с шаблоном
7.4. Замена в строке
7.5. Прочие функции и методы

Глава 8. Списки, кортежи, множества и диапазоны

8.1. Создание списка
8.2. Операции над списками
8.3. Многомерные списки
8.4. Перебор элементов списка
8.5. Генераторы списков и выражения-генераторы
8.6. Функции map(), zip(), filter() и reduce()
8.7. Добавление и удаление элементов списка
8.8. Поиск элемента в списке и получение сведений о значениях, входящих в список
8.9. Переворачивание и перемешивание списка
8.10. Выбор элементов случайным образом
8.11. Сортировка списка
8.12. Заполнение списка числами
8.13. Преобразование списка в строку
8.14. Кортежи
8.15. Множества
8.16. Диапазоны
8.17. Модуль itertools
    8.17.1. Генерация неопределенного количества значений
    8.17.2. Генерация комбинаций значений
    8.17.3. Фильтрация элементов последовательности
    8.17.4. Прочие функции

Глава 9. Словари

9.1. Создание словаря
9.2. Операции над словарями
9.3. Перебор элементов словаря
9.4. Методы для работы со словарями
9.5. Генераторы словарей

Глава 10. Работа с датой и временем

10.1. Получение текущих даты и времени
10.2. Форматирование даты и времени
10.3. Засыпание скрипта
10.4. Модуль datetime. Манипуляции датой и временем
    10.4.1. Класс timedelta
    10.4.2. Класс date
    10.4.3. Класс time
    10.4.4. Класс datetime
10.5. Модуль calendar. Вывод календаря
    10.5.1. Методы классов TextCalendar и LocaleTextCalendar
    10.5.2. Методы классов HTMLCalendar и LocaleHTMLCalendar
    10.5.3. Другие полезные функции
10.6. Измерение времени выполнения фрагментов кода

Глава 11. Пользовательские функции

11.1. Определение функции и ее вызов
11.2. Расположение определений функций
11.3. Необязательные параметры и сопоставление по ключам
11.4. Переменное число параметров в функции
11.5. Анонимные функции
11.6. Функции-генераторы
11.7. Декораторы функций
11.8. Рекурсия. Вычисление факториала
11.9. Глобальные и локальные переменные
11.10. Вложенные функции
11.11. Аннотации функций

Глава 12. Модули и пакеты

12.1. Инструкция import
12.2. Инструкция from
12.3. Пути поиска модулей
12.4. Повторная загрузка модулей
12.5. Пакеты

Глава 13. Объектно-ориентированное программирование

13.1. Определение класса и создание экземпляра класса
13.2. Методы __init__() и __del__()
13.3. Наследование
13.4. Множественное наследование
    13.4.1. Примеси и их использование
13.5. Специальные методы
13.6. Перегрузка операторов
13.7. Статические методы и методы класса
13.8. Абстрактные методы
13.9. Ограничение доступа к идентификаторам внутри класса
13.10. Свойства класса
13.11. Декораторы классов

Глава 14. Обработка исключений

14.1. Инструкция try...except...else...finally
14.2. Инструкция with...as
14.3. Классы встроенных исключений
14.4. Пользовательские исключения

Глава 15. Итераторы, контейнеры и перечисления

15.1. Итераторы
15.2. Контейнеры
    15.2.1. Контейнеры-последовательности
    15.2.2. Контейнеры-словари
15.3. Перечисления

Глава 16. Работа с файлами и каталогами

16.1. Открытие файла
16.2. Методы для работы с файлами
16.3. Доступ к файлам с помощью модуля os
16.4. Классы StringIO и BytesIO
16.5. Права доступа к файлам и каталогам
16.6. Функции для манипулирования файлами
16.7. Преобразование пути к файлу или каталогу
16.8. Перенаправление ввода/вывода
16.9. Сохранение объектов в файл
16.10. Функции для работы с каталогами
16.11. Исключения, возбуждаемые файловыми операциями

Глава 17. Основы SQLite

17.1. Создание базы данных
17.2. Создание таблицы
17.3. Вставка записей
17.4. Обновление и удаление записей
17.5. Изменение структуры таблицы
17.6. Выбор записей
17.7. Выбор записей из нескольких таблиц
17.8. Условия в инструкциях WHERE и HAVING
17.9. Индексы
17.10. Вложенные запросы
17.11. Транзакции
17.12. Удаление таблицы и базы данных

Глава 18. Доступ к базе данных SQLite из Python

18.1. Создание и открытие базы данных
18.2. Выполнение запросов
18.3. Обработка результата запроса
18.4. Управление транзакциями
18.5. Создание пользовательской сортировки
18.6. Поиск без учета регистра символов
18.7. Создание агрегатных функций
18.8. Преобразование типов данных
18.9. Сохранение в таблице даты и времени
18.10. Обработка исключений
18.11. Трассировка выполняемых запросов

Глава 19. Доступ к базам данных MySQL

19.1. Библиотека MySQLClient
    19.1.1. Подключение к базе данных
    19.1.2. Выполнение запросов
    19.1.3. Обработка результата запроса
19.2. Библиотека PyODBC
    19.2.1. Подключение к базе данных
    19.2.2. Выполнение запросов
    19.2.3. Обработка результата запроса

Глава 20. Библиотека Pillow. Работа с изображениями

20.1. Загрузка готового изображения
20.2. Создание нового изображения
20.3. Получение информации об изображении
20.4. Манипулирование изображением
20.5. Рисование линий и фигур
20.6. Библиотека Wand
20.7. Вывод текста
20.8. Создание скриншотов

Глава 21. Взаимодействие с Интернетом

21.1. Разбор URL-адреса
21.2. Кодирование и декодирование строки запроса
21.3. Преобразование относительного URL-адреса в абсолютный
21.4. Разбор HTML-эквивалентов
21.5. Обмен данными по протоколу HTTP
21.6. Обмен данными с помощью модуля urllib.request
21.7. Определение кодировки

Глава 22. Сжатие данных

22.1. Сжатие и распаковка по алгоритму GZIP
22.2. Сжатие и распаковка по алгоритму BZIP2
22.3. Сжатие и распаковка по алгоритму LZMA
22.4. Работа с архивами ZIP
22.5. Работа с архивами TAR

Заключение