Таня Шлюссер - Автостопом по Python
- Название:Автостопом по Python
- Автор:
- Жанр:
- Издательство:Питер
- Год:2017
- Город:СПб.
- ISBN:978-5-496-03023-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Таня Шлюссер - Автостопом по Python краткое содержание
и содержит наработки многочисленных профессионалов и энтузиастов, знающих, что такое Python, и чего вы от него хотите. Проверенные методы и новейшие приемы, собранные в этой книге, помогут вам стать профессиональным Python-программистом и во всеоружии встретить наступающую эпоху Python 3.
Автостопом по Python - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
• Глава 10 «Манипуляции с данными». Мы рассмотрим библиотеки, которые предоставляют символьные и численные алгоритмы, графики, а также инструменты для обработки изображений и аудио.
• Глава 11 «Хранение данных». Наконец, изучим отличия между популярными библиотеками для ORM.
Глава 7. Взаимодействие с пользователем
Библиотеки, представленные в этой главе, помогают разработчикам писать код для взаимодействия с конечными пользователями. Мы опишем уникальный проект Jupyter и рассмотрим типичные интерфейсы для командной строки и GUI. Завершается глава рассмотрением инструментов для веб-приложений.
Jupyter Notebook
Jupyter ( http://jupyter.org/) — это веб-приложение, которое позволяет вам отображать и интерактивно выполнять код Python. Представляет собой интерфейс между пользователями.
Пользователи видят интерфейс клиента Jupyter — написанный на CSS, HTML и JavaScript — в браузере на клиентской машине. Клиент связывается с ядром, написанным на Python (или одном из множества других языков), которое выполняет блоки кода и возвращает результат. Содержимое хранится на серверной машине в формате notebook (*.nb) — текст в формате JSON разбит на несколько «клеток», которые могут содержать HTML, Markdown (доступный для прочтения человеком язык разметки; похож на язык, использующийся на вики-страницах), простые заметки или исполняемый код. Сервер может быть локальным (запущен на ноутбуке пользователя) или удаленным, как примеры на сайте https://try.jupyter.org/.
Серверу Jupyter для работы нужна версия Python не ниже 3.3, также он совместим с Python 2.7. Поставляется с наиболее свежими версиями дистрибутивов Python (описаны в разделе «Коммерческие дистрибутивы Python» главы 2), например Canopy и Anaconda, поэтому для этих инструментов не нужно выполнять дополнительную установку, если вы можете компилировать и выполнять сборку кода C в вашей системе, как мы обсуждали в главе 2. Выполнив подготовку, вы можете установить Jupyter из командной строки с помощью pip:
$ pip install jupyter
Последние исследования, посвященные использованию Jupyter для обучения ( http://bit.ly/jupyter-classroom), показали, что это эффективный и популярный способ создавать интерактивные лекции для учеников, незнакомых с программированием.
Приложения командной строки
Приложения командной строки (также их называют консольными) — это компьютерные программы, предназначенные для использования из текстового интерфейса вроде оболочки ( http://en.wikipedia.org/wiki/Shell_(computing)). Они могут быть простыми командами (вроде pep8 или virtualenv) или интерактивными (вроде pip install, pip uninstall или pip freeze) — все они имеют собственные параметры в дополнение к общим параметрам pip. Как правило, все они начинают работу из функции main(). Наш BDFL поделился мнением ( http://bit.ly/python-main-functions) о том, что нужно, чтобы написать хорошее консольное приложение.
Мы используем пример вызова pip для перечисления компонентов, которые могут присутствовать в момент вызова приложения командной строки:

Команда — это имя вызываемого исполняемого файла.
Аргументы следуют за командой и не начинаются с дефиса. Их также называют параметрами и субкомандами.
Параметры начинаются либо с одного дефиса (для отдельных символов вроде — h), либо с двух (для слов вроде — help). Их также называют флагами или переключателями .
Библиотеки, перечисленные в табл. 7.1, предоставляют разные способы анализа аргументов, а также другие полезные инструменты для приложений командной строки.
Как правило, сначала вы должны использовать инструменты стандартной библиотеки Python. Добавлять другие библиотеки в проект можно только в том случае, если в стандартной библиотеке нет нужной вам функциональности.
В следующих разделах представлена более подробная информация о каждом инструменте, перечисленном в табл. 7.1.
Библиотека | Лицензия | Причины использовать |
---|---|---|
argparse | Лицензия PSF | Находится в стандартной библиотеке. Предоставляет стандартный способ анализа аргументов и параметров |
docopt | Лицензия MIT | Позволяет управлять форматом вспомогательного сообщения. Анализирует командную строку в соответствии с соглашениями, определенными в стандарте POSIX ( http://bit.ly/utility-conventions) |
plac | BSD 3-clause | Автоматически генерирует вспомогательное сообщение на основе существующей сигнатуры функции. Анализирует аргументы командной строки в фоновом режиме, передавая их непосредственно вашей функции |
click | BSD 3-clause | Предоставляет декораторы для создания вспомогательного сообщения и анализатора (похож на plac). Позволяет объединять несколько субкоманд. Взаимодействует с другими надстройками Flask (click не зависит от Flask, но он изначально был написан для того, чтобы помочь пользователям вместе создавать инструменты для командной строки с помощью разных надстроек для Flask, при этом ничего не разрушая, поэтому уже используется в экосистеме Flask) |
clint | Лицензия Internet Software | Имеет такие возможности форматирования, как изменение цвета, добавление отступов и колоночное отображение текста. Позволяет выполнить проверку типов для данных, введенных интерактивно (например, с помощью регулярного выражения, а также для целого числа или пути). Дает прямой доступ к списку аргументов, предоставляя простые инструменты для фильтрации и группирования |
Consortium (ISC) | ||
cliff | Лицензия Apache 2.0 | Предоставляет структурированный фреймворк для крупных проектов Python, имеющих много субкоманд. Создает интерактивную среду для использования субкоманд без дополнительного кодирования |
argparse
Модуль argparse (заменяет устаревший optparse) применяется при анализе параметров командной строки. Интерфейс командной строки, предоставленный проектом HowDoI, использует argparse — вы можете обратиться к нему при создании собственного интерфейса командной строки.
Рассмотрим код генерации анализатора:
import argparse
#
#… пропускаем кучу кода…
#
def get_parser():
····parser = argparse.ArgumentParser(description='…truncated for brevity…')
····parser.add_argument('query', metavar='QUERY', type=str, nargs='*',
························help='the question to answer')
····parser.add_argument('-p','-pos',
························help='select answer in specified position (default: 1)',
························default=1, type=int)
Интервал:
Закладка: