Оглавление
Введение
..............................................................................................................
16
Условные обозначения
.............................................................................................
17
Благодарности
..........................................................................................................
18
Часть I. Приступаем
Глава
1
.
Выбираем интерпретатор
..............................................................
20
Python 2 против Python 3
.......................................................................................
20
Рекомендации
.......................................................................................................
21
То есть... Python 3?
................................................................................................
21
Реализации
...........................................................................................................
22
CPython
...........................................................................................................
22
Stackless
..........................................................................................................
22
PyPy
................................................................................................................
23
Jython
.............................................................................................................
23
IronPython
.......................................................................................................
23
PythonNet
........................................................................................................
24
Skulpt
..............................................................................................................
24
MicroPython
.....................................................................................................
24
Глава
2
.
Правильная установка Python
......................................................
26
Установка Python на Mac OS X
...............................................................................
26
Setuptools и pip
...............................................................................................
28
virtualenv
.........................................................................................................
29
8
Оглавление
Установка Python на Linux
.....................................................................................
30
Setuptools и pip
...............................................................................................
30
Инструменты разработки
.................................................................................
31
virtualenv
.........................................................................................................
32
Установка Python на Windows
................................................................................
33
Setuptools и pip
...............................................................................................
36
virtualenv
.........................................................................................................
36
Коммерческие дистрибутивы Python
......................................................................
37
Глава
3
.
Ваша среда разработки
..................................................................
40
Текстовые редакторы
............................................................................................
41
Sublime Text
....................................................................................................
42
Vim
..................................................................................................................
43
Emacs
..............................................................................................................
45
TextMate
..........................................................................................................
46
Atom
...............................................................................................................
46
Code
................................................................................................................
47
IDE
........................................................................................................................
47
PyCharm/IntelliJ IDEA
.......................................................................................
49
Aptana Studio 3/Eclipse + LiClipse + PyDev
........................................................
49
WingIDE
..........................................................................................................
50
Spyder
.............................................................................................................
51
NINJA-IDE
........................................................................................................
51
Komodo IDE
.....................................................................................................
51
Eric (the Eric Python IDE)
..................................................................................
52
Visual Studio
....................................................................................................
52
Улучшенные интерактивные инструменты
.............................................................
53
IDLE
................................................................................................................
53
IPython
............................................................................................................
54
bpython
...........................................................................................................
54
Инструменты изоляции
..........................................................................................
54
Виртуальные среды
.........................................................................................
55
pyenv
..............................................................................................................
57
Autoenv
...........................................................................................................
57
Оглавление
9
virtualenvwrapper
.............................................................................................
58
Buildout
...........................................................................................................
59
Conda
..............................................................................................................
60
Docker
.............................................................................................................
61
Часть II. Переходим к делу
Глава
4
.
Пишем отличный код
......................................................................
64
Стиль кода
............................................................................................................
64
PEP 8
...............................................................................................................
65
PEP 20 (также известный как «Дзен Питона»)
.................................................
66
Общие советы
.................................................................................................
67
Соглашения
.....................................................................................................
73
Идиомы
...........................................................................................................
76
Распространенные подводные камни
...............................................................
80
Структурируем проект
...........................................................................................
83
Модули
............................................................................................................
83
Упаковка
.........................................................................................................
87
Объектно-ориентированное программирование
..............................................
88
Декораторы
.....................................................................................................
90
Динамическая типизация
................................................................................
91
Изменяемые и неизменяемые типы
.................................................................
92
Зависимости, получаемые от третьей стороны
................................................
94
Тестирование вашего кода
....................................................................................
95
Основы тестирования
......................................................................................
97
Примеры
.........................................................................................................
99
Другие популярные инструменты
..................................................................
103
Документация
......................................................................................................
105
Документация к проекту
................................................................................
106
Публикация проекта
......................................................................................
106
Строки документации против
блоковых комментариев
................................................................................
108
Журналирование
.................................................................................................
108
Оглавление
15
Приложение. Дополнительная информация
Сообщество Python
.........................................................................................
326
BDFL
....................................................................................................................
326
Python Software Foundation
..................................................................................
326
PEP
......................................................................................................................
326
Конференции Python
.....................................................................................
326
Notable-протоколы
........................................................................................
327
Отправка PEP
................................................................................................
327
Пользовательские группы Python
.................................................................
327
Обучение Python
..............................................................................................
328
Для начинающих
.................................................................................................
328
Средний уровень
.................................................................................................
330
Продвинутый уровень
..........................................................................................
330
Для инженеров и ученых
.....................................................................................
330
Дополнительные
темы
.........................................................................................
331
Справочный материал
.........................................................................................
332
Документация
...................................................................................................
333
Новости
..................................................................................................................
334
Об авторах
.............................................................................................................
335
Об обложке
.......................................................................................................
336