Таня Шлюссер - Автостопом по Python

Тут можно читать онлайн Таня Шлюссер - Автостопом по Python - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Питер, год 2017. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Автостопом по Python
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2017
  • Город:
    СПб.
  • ISBN:
    978-5-496-03023-6
  • Рейтинг:
    4/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

Таня Шлюссер - Автостопом по Python краткое содержание

Автостопом по Python - описание и краткое содержание, автор Таня Шлюссер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Перед вами — увлекательная книга, которую по достоинству оценит любой неравнодушный программист и даже бывалый питонщик. Она составлена на основе одноименного онлайнового руководства
и содержит наработки многочисленных профессионалов и энтузиастов, знающих, что такое Python, и чего вы от него хотите. Проверенные методы и новейшие приемы, собранные в этой книге, помогут вам стать профессиональным Python-программистом и во всеоружии встретить наступающую эпоху Python 3.

Автостопом по Python - читать онлайн бесплатно полную версию (весь текст целиком)

Автостопом по Python - читать книгу онлайн бесплатно, автор Таня Шлюссер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Вспомогательное сообщение выглядит так:

$ python hello.py — help

Usage: hello.py [OPTIONS] NAME

··Say hello, with capitalization and a name.

Options:

··-capitalize

··-repetitions INTEGER Times to repeat the greeting.

··-help Show this message and exit.

Реальная ценность Click заключается в ее модульности — вы можете добавить внешнюю функцию группировки, а затем любую другую функцию, декорированную с помощью click, в ваш проект, и они станут субкомандами для этой команды верхнего уровня:

Декоратор group создает команды верхнего уровня которые запускаются первыми - фото 230

картинка 231Декоратор group() создает команды верхнего уровня, которые запускаются первыми (перед вызванной субкомандой).

картинка 232С помощью декоратора pass_context (опционально) передаются объекты из сгруппированной команды в субкоманду, первый аргумент становится объектом click.core.Context.

картинка 233Этот объект имеет специальный атрибут ctx.obj, который можно передавать субкомандам, использующим декоратор @click.pass_context.

картинка 234Теперь вместо функции hello() вызывайте функцию, которая была декорирована @click.group(); в нашем случае это cli().

Clint

Библиотека Clint ( https://pypi.python.org/pypi/clint/) соответствует своему названию и является набором инструментов для работы с интерфейсами командной строки (Command-Line INterface Tools). Поддерживает такую функциональность, как раскрашивание CLI и добавление отступов, индикаторов выполнения, основанных на итераторах, допускает неявную обработку аргументов. Кроме того, это простое и мощное средство отображения столбцов. В этом примере показаны инструменты для раскрашивания и создания отступов:

Использование indent интуитивно для менеджера контекста в операторе with Флаг - фото 235 Использование indent интуитивно для менеджера контекста в операторе with Флаг - фото 236

картинка 237Использование indent интуитивно для менеджера контекста в операторе with. Флаг quote добавляет в начало каждой строки полужирную фиолетовую конструкцию ~*~.

картинка 238Модуль colored имеет восемь функций для цветов, а также параметр отключения раскрашивания.

картинка 239Функция puts() аналогична print(), обрабатывает отступы и кавычки.

картинка 240Args предоставляет простые инструменты фильтрации для списка аргументов. Возвращает еще один объект Args, что позволяет объединять фильтры в цепочки.

картинка 241Использовать аргументы args, созданные функцией Args(), можно именно так.

cliff

cliff ( https://pypi.python.org/pypi/cliff) (Command-Line Interface Formulation Framework — фреймворк для формулирования интерфейсов командной строки) — это фреймворк для создания программ командной строки. Предполагается, что он должен использоваться для создания уникальных мультиуровневых команд, которые ведут себя как svn (Subversion) либо git, или интерактивных программ вроде оболочек Cassandra или SQL.

Функциональность cliff сгруппирована в абстрактных базовых классах. Вам нужно реализовать cliff.command.Command для каждой субкоманды, а затем cliff.commandmanager.CommandManager делегирует правильной команде. Рассмотрим минимальную версию программы hello.py:

cliff использует непосредственно argparseArgumentParser для интерфейса - фото 242 cliff использует непосредственно argparseArgumentParser для интерфейса - фото 243

картинка 244cliff использует непосредственно argparse.ArgumentParser для интерфейса командной строки.

картинка 245Получаем версию из setup.py (при последнем запуске pip install).

картинка 246Для абстрактного базового класса требуется get_parser() — он должен возвращать argparse.ArgumentParser.

картинка 247Для абстрактного базового класса требуется take_action() — он запускается при вызове команды Hello.

картинка 248В основном приложении создается подкласс cliff.app.App, отвечающий за настройку журналирования, потоки ввода/вывода и все остальное, что можно применить ко всем субкомандам.

картинка 249CommandManager управляет всеми классами Command, использует содержимое из entry_points файла setup.py для поиска имен команд.

Приложения с графическим интерфейсом

В этом разделе мы сначала перечислим библиотеки с виджетами — наборы инструментов и фреймворки, которые предоставляют кнопки, полосы прокрутки, индикаторы выполнения и другие заранее созданные компоненты. В конце раздела коснемся игровых библиотек.

Библиотеки виджетов

С точки зрения разработки графических интерфейсов, виджетами являются кнопки, слайдеры, полосы прокрутки и другие распространенные элементы интерфейса. С их помощью вам не нужно заниматься низкоуровневым программированием вроде определения того, какая кнопка (если таковая вообще существует) находилась под курсором мыши в момент клика, или работой с разными оконными API, используемыми разными операционными системами.

Если вы никогда не занимались разработкой интерфейсов, то вам нужно что-то, что легко использовать (чтобы вы поняли, как создавать интерфейсы). Мы рекомендуем Tkinter (находится в стандартной библиотеке Python). Вас заинтересуют структура и функции набора инструментов, который лежит в основе библиотеки, поэтому мы сгруппируем библиотеки по тулкитам, начав с самых популярных (табл. 7.2).

Таблица 7.2.Библиотеки виджетов для графических интерфейсов
Библиотека, лежащая в основе (язык) Библиотека Python Лицензия Причины использовать
Tk (Tcl) tkinter Лицензия Python Software Foundation Все зависимости поставляются вместе с Python. Предоставляет стандартные виджеты для интерфейса вроде кнопок, полос прокрутки, текстовых окон и полотен
SDL2 (C) Kivy MIT или LGPL3 (до версии 1.7.2) Может использоваться для создания приложения для Android.
Имеет функциональность для работы с технологией мультитач. Оптимизирована для С там, где это возможно, и использует GPU
Qt (C++) PyQt GNU General Public License (GPL) или Commercial На всех платформах выглядит одинаково. Многие приложения и библиотеки уже полагаются на Qt (например, Eric IDE, Spyder и/или Matplotlib), поэтому библиотека может оказаться установленной заранее. Qt5 (нельзя использовать вместе с Qt4) предоставляет инструменты для создания приложения для Android
Qt (C++) PySide GNU Lesser General Public License (LGPL) Полноценная замена для PyQt, имеющая более либеральную лицензию
GTK (C) (тулкит GIMP) PyGObject (PyGi) GNU Lesser General Public License (LGPL) Предоставляет связывание с Python для GTK+ 3. Должна быть знакома всем, кто уже разрабатывал для GNOME
GTK (C) PyGTK GNU Lesser General Public License (LGPL) Применяйте только в том случае, если ваш проект уже использует PyGTK; вы должны портировать старый код PyGTK к PyGObject
wxWindows (C++) wxPython Лицензия wxWindows (модифицированная LGPL) Предоставляет нативный внешний вид, предлагая различные оконные библиотеки для каждой платформы. Для разных платформ некоторые фрагменты кода будут отличаться
Objective C PyObjC Лицензия MIT Предоставляет интерфейс для работы с Objective C. Придаст вашему проекту для OS X нативный вид. Не может использоваться на других платформах

В следующих разделах представлена более подробная информация о разных библиотеках для создания графического интерфейса для Python, они сгруппированы по лежащему в их основе тулкиту.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Таня Шлюссер читать все книги автора по порядку

Таня Шлюссер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Автостопом по Python отзывы


Отзывы читателей о книге Автостопом по Python, автор: Таня Шлюссер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x