The Hitchhiker's Guide to Python: Best Practices for Development 9781491933176, 1491933178

Ready to complete your trek from journeyman to true Pythonista? This practical book provides an insider's guide to

206 82 3MB

Russian Pages 0 [336]

Report DMCA / Copyright

DOWNLOAD DJVU FILE

Table of contents :
Благодарности
Введение
Условные обозначения
Часть I. Приступаем
Глава 1. Выбираем интерпретатор
Python 2 против Python 3
Рекомендации
То есть… Python 3?
Реализации
CPython
Stackless
PyPy
Jython
IronPython
PythonNet
Skulpt
MicroPython
Глава 2. Правильная установка Python
Установка Python на Mac OS X
Setuptools и pip
virtualenv
Установка Python на Linux
Setuptools и pip
Инструменты разработки
virtualenv
Установка Python на Windows
Setuptools и pip
virtualenv
Коммерческие дистрибутивы Python
Глава 3. Ваша среда разработки
Текстовые редакторы
Sublime Text
Vim
Emacs
TextMate
Atom
Code
IDE
PyCharm/IntelliJ IDEA
Aptana Studio 3/Eclipse + LiClipse + PyDev
WingIDE
Spyder
NINJA-IDE
Komodo IDE
Eric (the Eric Python IDE)
Visual Studio
Улучшенные интерактивные инструменты
IDLE
IPython
bpython
Инструменты изоляции
Виртуальные среды
pyenv
Autoenv
virtualenvwrapper
Buildout
Conda
Docker
Часть II. Переходим к делу
Глава 4. Пишем отличный код
Стиль кода
PEP 8
PEP 20 (также известный как «Дзен Питона»)
Общие советы
Соглашения
Идиомы
Распространенные подводные камни
Структурируем проект
Модули
Упаковка
Объектно-ориентированное программирование
Декораторы
Динамическая типизация
Изменяемые и неизменяемые типы
Зависимости, получаемые от третьей стороны
Тестирование вашего кода
Основы тестирования
Примеры
Другие популярные инструменты
Документация
Документация к проекту
Публикация проекта
Строки документации против
блоковых комментариев
Журналирование
Журналирование для библиотеки
Журналирование для приложения
Выбираем лицензию
Лицензии
Доступные варианты
Лицензирование ресурсов
Глава 5. Читаем отличный код
Типичные функции
HowDoI
Читаем сценарий, состоящий из одного файла
Примеры из структуры HowDoI
Примеры из стиля HowDoI
Diamond
Читаем более крупное приложение
Примеры из структуры Diamond
Примеры из стиля Diamond
Tablib
Читаем небольшую библиотеку
Примеры из структуры Tablib
Примеры из стиля Tablib
Requests
Читаем более крупную библиотеку
Примеры из структуры Requests
Примеры из стиля Requests
Werkzeug
Читаем код инструментария
Примеры из стиля Werkzeug
Примеры структуры из Werkzeug
Flask
Читаем код фреймворка
Примеры стиля из Flask
Примеры структуры из Flask
Глава 6. Отправляем отличный код
Использование словаря и Concepts
Упаковываем код
Conda
PyPI
Замораживаем код
PyInstaller
cx_Freeze
py2app
py2exe
bbFreeze
Упаковка дистрибутивов в Linux
Исполняемые ZIP-файлы
Часть III. Руководство по сценариям
Глава 7. Взаимодействие с пользователем
Jupyter Notebook
Приложения командной строки
argparse
docopt
Plac
Click
Clint
cliff
Приложения с графическим интерфейсом
Библиотеки виджетов
Kivy
GTK+
wxWidgets
Objective-C
Разработка игр
Веб-приложения
Веб-фреймворки/микрофреймворки
Django
Flask
Tornado
Pyramid
Движки для веб-шаблонов
Jinja2
Chameleon
Mako
Развертывание веб-приложений
Хостинг
Веб-серверы
Серверы WSGI
Глава 8. Управление кодом и его улучшение
Непрерывная интеграция
Системное администрирование
Travis-CI
Jenkins
Buildbot
Автоматизация сервера
Salt
Ansible
Puppet
Chef
CFEngine
Наблюдение за системами и задачами
Psutil
Fabric
Luigi
Скорость
Многопоточность
Модуль multiprocessing
Subprocess
PyPy
Cython
Numba
Библиотеки для работы с GPU
Взаимодействие с библиотеками,
написанными на C/C++/FORTRAN
C Foreign Function Interface
ctypes
F2PY
SWIG
Boost.Python
Глава 9. Программные интерфейсы
Веб-клиенты
API для сети
Анализ XML
Скраппинг сайтов
lxml
Сериализация данных
Pickle
Межъязыковая сериализация
Сжатие
Протокол буфера
Распределенные системы
Работа с сетью
Производительность сетевых инструментов из стандартной библиотеки Python
gevent
Twisted
PyZMQ
RabbitMQ
Шифрование
ssl, hashlib и secrets
pyOpenSSL
PyNaCl и libnacl
Cryptography
PyCrypto
bcrypt
Глава 10. Манипуляции с данными
Научные приложения
NumPy
SciPy
Matplotlib
Pandas
Scikit-Learn
Rpy2
decimal, fractions и numbers
SymPy
Манипуляции с текстом и его анализ
Инструменты для работы со строками стандартной библиотеки Python
nltk
SyntaxNet
Работа с изображениями
Pillow
cv2
Scikit-Image
Глава 11. Хранение данных
Структурированные файлы
Библиотеки для работы с базами данных
sqlite3
SQLAlchemy
Django ORM
peewee
PonyORM
SQLObject
Records
Библиотеки для работы с базами данных NoSQL
Приложение. Дополнительная информация
Сообщество Python
BDFL
Python Software Foundation
PEP
Notable протоколы
Отправка PEP
Конференции Python
Пользовательские группы Python
Обучение Python
Для начинающих
Средний уровень
Продвинутый уровень
Для инженеров и ученых
Различные темы
Справочный материал
Документация
Новости
Об авторах
Обложка

The Hitchhiker's Guide to Python: Best Practices for Development
 9781491933176, 1491933178

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
Recommend Papers