Описан в книге Python. Самое необходимое. Прохоренок + Видеокурс (+ DVD) базовый синтаксис языка Python: типы данных, операторы, условия, циклы, регулярные выражения, встроенные функции, объектно-ориентированное программирование, часто используемые модули стандартной библиотеки. Даны основы SQLite, описан интерфейс доступа к базам данных SQLite и MySQL. Рассмотрены работа с изображениями с помощью библиотеки PIL и получение данных из Интернета. Книга содержит более двухсот практических примеров, помогающих начать программировать на языке Python самостоятельно. Весь материал тщательно подобран, хорошо структурирован и компактно изложен, что позволяет использовать книгу как удобный справочник. Прилагаемый DVD содержит листинги описанных в книге примеров и видеоролики.
Оглавление книги
Python. Самое необходимое. Прохоренок + Видеокурс (+ DVD)
ГЛАВА 1. ПЕРВЫЕ ШАГИ
3
1.1. Установка Python 3
1.2. Первая программа на Python 9
1.3. Структура программы 11
1.4. Комментарии 15
1.5. Скрытые возможности IDLE 16
1.6. Вывод результатов работы программы 17
1.7. Ввод данных 19
1.8. Доступ к документации 21
ГЛАВА 2. ПЕРЕМЕННЫЕ
24
2.1. Именование переменных 24
2.2. Типы данных 26
2.3. Инициализация переменных 29
2.4. Проверка типа данных 31
2.5. Преобразование типов данных 31
2.6. Удаление переменной 33
ГЛАВА 3. ОПЕРАТОРЫ PYTHON
34
3.1. Математические операторы 34
3.2. Двоичные операторы 36
3.3. Операторы для работы с последовательностями 37
3.4. Операторы присваивания 37
3.5. Приоритет выполнения операторов 38
ГЛАВА 4 . УСЛОВНЫЕ ОПЕРАТОРЫ И ЦИКЛЫ
40
4.1. Операторы сравнения 41
4.2. Оператор ветвления if...else 43
4.3. Цикл for 46
4.4. Функции range(), xrange() и enumerate() 48
4.5. Цикл while 50
4.6. Оператор continue. Переход на следующую итерацию цикла 52
4.7. Оператор break. Прерывание цикла 52
ГЛАВА 5. ЧИСЛА
54
5.1. Встроенные функции для работы с числами 55
5.2. Модуль math. Математические функции 57
5.3. Модуль random. Генерация случайных чисел 59
ГЛАВА 6. СТРОКИ
62
6.1. Создание строки 63
6.2. Специальные символы 66
6.3. Операции над строками 67
6.4. Форматирование строк 70
6.5. Метод format() 77
6.6. Функции и методы для работы со строками 80
6.7. Настройка локали и изменение регистра символов 84
6.8. Функции для работы с символами 86
6.9. Поиск и замена в строке 86
6.10. Проверка типа содержимого строки 90
6.11. Преобразование объекта в строку 93
6.12. Шифрование строк 94
6.13. Преобразование кодировок 94
ГЛАВА 7. РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ
96
7.1. Синтаксис регулярных выражений 96
7.2. Поиск первого совпадения с шаблоном 105
7.3. Поиск всех совпадений с шаблоном 110
7.4. Замена в строке 111
7.5. Прочие функции и методы 113
ГЛАВА 8. СПИСКИ, КОРТЕЖИ И МНОЖЕСТВА
115
8.1. Создание списка 116
8.2. Операции над списками 119
8.3. Многомерные списки 121
8.4. Перебор элементов списка 122
8.5. Генераторы списков и выражения-генераторы 123
8.6. Перебор элементов списка без циклов 125
8.7. Добавление и удаление элементов списка 128
8.8. Поиск элемента в списке 130
8.9. Переворачивание и перемешивание списка 131
8.10. Выбор элементов случайным образом 132
8.11. Сортировка списка 133
8.12. Заполнение списка числами 135
8.13. Преобразование списка в строку 136
8.14. Кортежи 137
8.15. Множества 139
ГЛАВА 9. СЛОВАРИ
144
9.1. Создание словаря 144
9.2. Операции над словарями 147
9.3. Перебор элементов словаря 148
9.4. Методы для работы со словарями 149
ГЛАВА 10. РАБОТА С ДАТОЙ И ВРЕМЕНЕМ
152
10.1. Получение текущей даты и времени 152
10.2. Форматирование даты и времени 154
10.3. "Засыпание" скрипта 156
10.4. Модуль datetime. Манипуляции датой и временем 157
10.4.1. Класс timedelta 157
10.4.2. Класс date 159
10.4.3. Класс time 162
10.4.4. Класс datetime 164
10.5. Модуль calendar. Вывод календаря 168
10.5.1. Методы классов TextCalendar и LocaleTextCalendar 169
10.5.2. Методы классов HTMLCalendar и LocaleHTMLCalendar 171
10.5.3. Другие полезные функции 172
10.6. Измерение времени выполнения фрагментов кода 174
ГЛАВА 11. ПОЛЬЗОВАТЕЛЬСКИЕ ФУНКЦИИ
177
11.1. Создание функции и ее вызов 177
11.2. Расположение определений функций 180
11.3. Необязательные параметры и сопоставление по ключам 181
11.4. Переменное число параметров в функции 184
11.5. Анонимные функции 185
11.6. Функции-генераторы 186
11.7. Декораторы функций 187
11.8. Рекурсия. Вычисление факториала 189
11.9. Глобальные и локальные переменные 190
ГЛАВА 12. МОДУЛИ И ПАКЕТЫ
194
12.1. Инструкция import 194
12.2. Инструкция from 198
12.3. Пути поиска модулей 200
12.4. Повторная загрузка модулей 202
12.5. Пакеты 202
ГЛАВА 13. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ
207
13.1. Определение класса и создание экземпляра класса 207
13.2. Методы __init__() и __del__() 210
13.3. Наследование 211
13.4. Множественное наследование 212
13.5. Классы нового стиля 214
13.6. Специальные методы 215
13.7. Перегрузка операторов 218
13.8. Статические методы и методы класса 221
13.9. Абстрактные методы 222
13.10. Ограничение доступа к идентификаторам внутри класса 223
13.11. Свойства класса 225
ГЛАВА 14. ОБРАБОТКА ИСКЛЮЧЕНИЙ
227
14.1. Инструкция try...except...else...finally 228
14.2. Инструкция with...as 233
14.3. Классы встроенных исключений 235
14.4. Пользовательские исключения 237
ГЛАВА 15. РАБОТА С ФАЙЛАМИ И КАТАЛОГАМИ
241
15.1. Открытие файла 241
15.2. Методы для работы с файлами 246
15.3. Доступ к файлам с помощью модуля os 252
15.4. Модуль StringIO 254
15.5. Права доступа к файлам и каталогам 257
15.6. Функции для манипулирования файлами 259
15.7. Преобразование пути к файлу или каталогу 263
15.8. Перенаправление ввода/вывода 265
15.9. Сохранение объектов в файл 268
15.10. Функции для работы с каталогами 271
ГЛАВА 16. ОСНОВЫ SQLITE
275
16.1. Создание базы данных 276
16.2. Создание таблицы 277
16.3. Вставка записей 284
16.4. Обновление и удаление записей 286
16.5. Изменение свойств таблицы 287
16.6. Выбор записей 288
16.7. Выбор записей из нескольких таблиц 291
16.8. Условия в инструкции WHERE 293
16.9. Индексы 296
16.10. Вложенные запросы 299
16.11. Транзакции 300
16.12. Удаление таблицы и базы данных 302
ГЛАВА 17. ДОСТУП К БАЗЕ ДАННЫХ SQLITE ИЗ PYTHON
303
17.1. Создание и открытие базы данных 304
17.2. Выполнение запроса 305
17.3. Обработка результата запроса 309
17.4. Управление транзакциями 314
17.5. Создание пользовательской сортировки 315
17.6. Поиск без учета регистра символов 316
17.7. Создание агрегатных функций 318
17.8. Преобразование типов данных 319
17.9. Сохранение в таблице даты и времени 323
17.10. Обработка исключений 324
ГЛАВА 18. ДОСТУП К БАЗЕ ДАННЫХ MYSQL
328
18.1. Модуль MySQLdb 329
18.1.1. Подключение к базе данных 329
18.1.2. Выполнение запроса 332
18.1.3. Обработка результата запроса 336
18.2. Модуль PyODBC 339
18.2.1. Подключение к базе данных 340
18.2.2. Выполнение запроса 341
18.2.3. Обработка результата запроса 343
ГЛАВА 19. БИБЛИОТЕКА PIL. РАБОТА С ИЗОБРАЖЕНИЯМИ
347
19.1. Загрузка готового изображения 347
19.2. Создание нового изображения 350
19.3. Получение информации об изображении 350
19.4. Манипулирование изображением 351
19.5. Рисование линий и фигур 355
19.6. Модуль aggdraw 357
19.7. Вывод текста на изображение 362
19.8. Создание скриншотов 363
ГЛАВА 20. ВЗАИМОДЕЙСТВИЕ С ИНТЕРНЕТОМ
365
20.1. Разбор URL-адреса 365
20.2. Кодирование и декодирование строки запроса 368
20.3. Преобразование относительной ссылки в абсолютную 372
20.4. Разбор HTML-эквивалентов 373
20.5. Обмен данными по протоколу HTTP 374
20.6. Обмен данными с помощью модуля urllib2 379
20.7. Определение кодировки 382
ЗАКЛЮЧЕНИЕ 385
ПРИЛОЖЕНИЕ 1. ОТЛИЧИЯ PYTHON 3 ОТ PYTHON 2 389
ПРИЛОЖЕНИЕ 2. ОПИСАНИЕ DVD 395
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ 399
IV Оглавление V Оглавление
Данная книга является первым полным руководством по реализации методов функционально-ориентированной разработки ПО. Функционально-ориентированная разработка ПО сочетает в себе основные преимущества гибких методологий с техниками моделирования, способными охватить самые большие проекты и команды.
В книге "Поисковые системы и продвижение сайтов в Интернете" подробно описаны алгоритмы работы и методы использования наиболее популярных сегодня поисковых машин Интернета — Google, Yandex и Rambler. Автор доходчиво объясняет, как можно использовать эти системы не только для для поиска информации, но и для поднятия рейтинга вашего сайта. Здесь же обсуждаются особенности установки и настройки локальных поисковых систем Yandex.