Оглавление
Предисловие .................................................................................................. 13
От издательства..............................................................................................14
Глава 1. Почему Python?.......................................................................................15
Глава 2. Какая версия Python?..............................................................................17
2.1. Установка Python .......................................................................................17
2.2. Какой редактор? ........................................................................................19
2.3. Итоги.........................................................................................................19
2.4. Упражнения...............................................................................................20
Глава 3. Интерпретатор .......................................................................................21
3.1. REPL ..........................................................................................................22
3.2. Пример использования REPL......................................................................24
3.3. Итоги.........................................................................................................27
3.4. Упражнения...............................................................................................27
Глава 4. Запуск программ.....................................................................................28
4.1. Запуск программ из IDLE ...........................................................................29
4.2. Усовершенствования для UNIX...................................................................31
4.3. Итоги.........................................................................................................33
4.4. Упражнения...............................................................................................34
Глава 5. Запись и чтение данных .........................................................................35
5.1. Простой вывод...........................................................................................35
5.2. Получение данных от пользователя...........................................................36
5.3. Итоги.........................................................................................................37
5.4. Упражнения...............................................................................................37
Глава 6. Переменные ...........................................................................................38
6.1. Изменение и состояние..............................................................................38
6.2. Переменные Python как метки....................................................................39
6.3. Бирки.........................................................................................................41
6.4. Повторное связывание переменных ...........................................................43
6.5. Имена переменных ....................................................................................45
6.6. Дополнительные рекомендации по назначению имен ................................46
6.7. Итоги .........................................................................................................49
6.8. Упражнения...............................................................................................50
8   Оглавление
Глава 7. Подробнее об объектах ..........................................................................51
7.1. Идентификатор..........................................................................................51
7.2. Тип ............................................................................................................53
7.3. Изменяемость ............................................................................................55
7.4. Использование IDLE...................................................................................57
7.5. Итоги .........................................................................................................60
7.6. Упражнения ...............................................................................................61
Глава 8. Числа .....................................................................................................62
8.1. Сложение ..................................................................................................63
8.2. Вычитание .................................................................................................65
8.3. Умножение ................................................................................................65
8.4. Деление.....................................................................................................66
8.5. Остаток......................................................................................................66
8.6. Возведение в степень ................................................................................68
8.7. Порядок операций......................................................................................69
8.8. Другие операции .......................................................................................69
8.9. Итоги.........................................................................................................69
8.10. Упражнения .............................................................................................70
Глава 9. Строки....................................................................................................71
9.1. Форматирование строк ..............................................................................74
9.2. Синтаксис форматных строк ......................................................................74
9.3. Примеры форматирования.........................................................................77
9.4. F-строки.....................................................................................................78
9.5. Итоги.........................................................................................................79
9.6. Упражнения...............................................................................................79
Глава 10. dir, help и pdb .......................................................................................80
10.1. Специальные методы...............................................................................81
10.2. help..........................................................................................................82
10.3. pdb ..........................................................................................................82
10.4. Итоги .......................................................................................................84
10.5. Упражнения .............................................................................................84
Глава 11. Строки и методы ..................................................................................85
11.1. Основные строковые методы ...................................................................89
11.2. endswith...................................................................................................89
11.3. find ..........................................................................................................91
11.4. format ......................................................................................................91
11.5. join...........................................................................................................92
11.6. lower........................................................................................................93
11.7. startswith..................................................................................................93
Оглавление   9
11.8. strip..........................................................................................................93
11.9. upper .......................................................................................................94
11.10. Другие методы.......................................................................................94
11.11. Итоги .....................................................................................................94
11.12. Упражнения ...........................................................................................94
Глава 12. Комментарии, логические значения и None ..........................................96
12.1. Комментарии ...........................................................................................96
12.2. Логические значения ...............................................................................97
12.3. None ...................................................................................................... 101
12.4. Итоги ..................................................................................................... 103
12.5. Упражнения ........................................................................................... 103
Глава 13. Условия и отступы.............................................................................. 105
13.1. Объединение условных выражений........................................................ 107
13.2. Команды if ............................................................................................. 109
13.3. Команды else.......................................................................................... 109
13.4. Множественный выбор........................................................................... 110
13.5. Пробелы ................................................................................................ 110
13.6. Итоги ..................................................................................................... 112
13.7. Упражнения ........................................................................................... 112
Глава 14. Контейнеры: списки, кортежи и множества ........................................ 113
14.1. Списки ................................................................................................... 113
14.2. Индексы................................................................................................. 114
14.3. Вставка в список .................................................................................... 115
14.4. Удаление из списка................................................................................ 116
14.5. Сортировка списков ............................................................................... 116
14.6. Полезные советы по работе со списками................................................ 117
14.7. Кортежи ................................................................................................. 122
14.8. Множества ............................................................................................. 125
14.9. Итоги ..................................................................................................... 128
14.10. Упражнения ......................................................................................... 128
Глава 15. Итерации............................................................................................ 130
15.1. Перебор с индексом............................................................................... 131
15.2. Выход из цикла ...................................................................................... 134
15.3. Пропуск элементов в цикле.................................................................... 134
15.4. Оператор in может использоваться для проверки принадлежности........ 135
15.5. Удаление элементов из списков при переборе ....................................... 135
15.6. Блок else................................................................................................ 137
15.7. Циклы while............................................................................................ 137
15.8. Итоги ..................................................................................................... 139
15.9. Упражнения ........................................................................................... 139
10   Оглавление
Глава 16. Словари.............................................................................................. 140
16.1. Присваивание в словарях....................................................................... 140
16.2. Выборка значений из словаря................................................................ 142
16.3. Оператор in............................................................................................ 143
16.4. Сокращенный синтаксис словарей.......................................................... 144
16.5. setdefault................................................................................................ 144
16.6. Удаление ключей................................................................................... 147
16.7. Перебор словаря .................................................................................... 147
16.8. Итоги ..................................................................................................... 150
16.9. Упражнения ........................................................................................... 150
Глава 17. Функции ............................................................................................. 152
17.1. Вызов функций....................................................................................... 155
17.2. Область видимости................................................................................. 156
17.3. Множественные параметры.................................................................... 158
17.4. Параметры по умолчанию ...................................................................... 159
17.5. Правила выбора имен для функций........................................................ 161
17.6. Итоги ..................................................................................................... 162
17.7. Упражнения............................................................................................ 162
Глава 18. Индексирование и срезы .................................................................... 163
18.1. Индексирование..................................................................................... 163
18.2. Срезы..................................................................................................... 164
18.3. Приращения в срезах............................................................................. 166
18.4. Итоги ..................................................................................................... 168
18.5. Упражнения ........................................................................................... 168
Глава 19. Операции ввода/вывода с файлами.................................................... 169
19.1. Открытие файлов................................................................................... 169
19.2. Чтение текстовых файлов ...................................................................... 171
19.3. Чтение двоичных файлов....................................................................... 172
19.4. Перебор при работе с файлами.............................................................. 173
19.5. Запись файлов ....................................................................................... 174
19.6. Закрытие файлов ................................................................................... 175
19.7. Проектирование на основе файлов ........................................................ 177
19.8. Итоги ..................................................................................................... 178
19.9. Упражнения ........................................................................................... 178
Глава 20. Юникод .............................................................................................. 180
20.1. Историческая справка............................................................................ 180
20.2. Основные этапы в Python....................................................................... 183
20.3. Кодирование.......................................................................................... 185
Оглавление   11
20.4. Декодирование ...................................................................................... 187
20.5. Юникод и файлы.................................................................................... 188
20.6. Итоги ..................................................................................................... 190
20.7. Упражнения ........................................................................................... 190
Глава 21. Классы ............................................................................................... 192
21.1. Планирование класса............................................................................. 195
21.2. Определение класса .............................................................................. 196
21.3. Создание экземпляра класса.................................................................. 201
21.4. Вызов метода......................................................................................... 204
21.5. Анализ экземпляра................................................................................. 205
21.6. Приватный и защищенный доступ.......................................................... 206
21.7. Простая программа, моделирующая поток посетителей ......................... 207
21.8. Итоги ..................................................................................................... 209
21.9. Упражнения ........................................................................................... 209
Глава 22. Субклассирование .............................................................................. 211
22.1. Подсчет остановок ................................................................................. 214
22.2. super...................................................................................................... 215
22.3. Итоги ..................................................................................................... 217
22.4. Упражнения ........................................................................................... 218
Глава 23. Исключения........................................................................................ 219
23.1. «Посмотри, прежде чем прыгнуть» ........................................................ 220
23.2. «Проще просить прощения, чем разрешения» ....................................... 221
23.3. Несколько возможных исключений ........................................................ 223
23.4. finally ..................................................................................................... 225
23.5. Секция else ............................................................................................ 227
23.6. Выдача исключений ............................................................................... 228
23.7. Упаковка исключений............................................................................. 229
23.8. Определение собственных исключений.................................................. 232
23.9. Итоги ..................................................................................................... 233
23.10. Упражнения ......................................................................................... 234
Глава 24. Импортирование библиотек................................................................ 235
24.1. Способы импортирования ...................................................................... 236
24.2. Конфликты имен при импортировании................................................... 239
24.3. Массовое импортирование ..................................................................... 240
24.4. Вложенные библиотеки.......................................................................... 241
24.5. Организация импортирования................................................................ 241
24.6. Итоги ..................................................................................................... 243
24.7. Упражнения ........................................................................................... 243
12   Оглавление
Глава 25. Библиотеки: пакеты и модули ............................................................ 244
25.1. Модули .................................................................................................. 244
25.2. Пакеты................................................................................................... 244
25.3. Импортирование пакетов ....................................................................... 245
25.4. PYTHONPATH.......................................................................................... 246
25.5. sys.path.................................................................................................. 247
25.6. Итоги ..................................................................................................... 248
25.7. Упражнения ........................................................................................... 249
Глава 26. Полноценный пример ......................................................................... 250
26.1. cat.py ..................................................................................................... 250
26.2. Что делает этот код?.............................................................................. 253
26.3. Типичная структура ............................................................................... 254
26.4. #! .......................................................................................................... 255
26.5. Строка документации............................................................................. 256
26.6. Импортирование .................................................................................... 257
26.7. Метаданные и глобальные переменные.................................................. 257
26.8. Операции с журналом............................................................................ 259
26.9. Другие глобальные переменные ............................................................ 259
26.10. Реализация .......................................................................................... 259
26.11. Тестирование....................................................................................... 259
26.12. if __name__ == '__main__': .................................................................. 260
26.13. __name__............................................................................................. 261
26.14. Итоги ................................................................................................... 262
26.15. Упражнения ......................................................................................... 263
Глава 27. В начале пути..................................................................................... 264
Приложение А. Перемещение по файлам.......................................................... 265
А.1. Mac и UNIX .............................................................................................. 265
A.2. Windows .................................................................................................. 266
Приложение Б. Полезные ссылки ..................................................................... 267
Об авторе....................................................................................................... 268
Научные редакторы...................................................................................... 269