Таня Шлюссер - Автостопом по 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, которые иллюстрируют темы, рассмотренные в главе 4. По мере их описания мы также поделимся приемами чтения кода [53] Если вам нужна книга, материал которой основан на десятилетнем опыте чтения и рефакторинга кода, рекомендуем вам Object-Oriented Reengineering Patterns (издательство Square Bracket Associates) ( http://scg.unibe.ch/download/oorp/index.html ) за авторством Сержа Демейера (Serge Demeyer), Стефана Дюкасса (Stе́phane Ducasse) и Оскара Нирстраса (Oscar Nierstrasz). .

Перед вами список проектов, которые продемонстрированы в этой главе, они приведены в том порядке, в котором появляются:

HowDoI ( https://github.com/gleitz/howdoi) — консольное приложение, которое ищет в Интернете ответы на вопросы, связанные с программированием; написано на Python;

Diamond ( https://github.com/python-diamond/Diamond) — демон Python [54] Демон — это компьютерная программа, которая работает как фоновый процесс. , который собирает метрики и публикует их на Graphite или других бэкендах. Может собирать метрики для процессора, памяти, сети, ввода-вывода, загрузки и дисков. Предоставляет API для реализации пользовательских сборщиков метрик из практически любого источника;

Tabli ( https://github.com/kennethreitz/tablib) — независимая от формата библиотека, позволяющая работать с таблицами данных;

Requests ( https://github.com/kennethreitz/requests) — библиотека для протокола передачи гипертекста (HyperText Transfer Protocol, HTTP) для людей (90 % из нас хотят иметь HTTP-клиент, который автоматически выполняет авторизацию и соответствует многим стандартам ( https://www.w3.org/Protocols/) для выполнения таких заданий, как многокомпонентная загрузка файла с помощью единственного вызова функции);

Werkzeug ( https://github.com/mitsuhiko/werkzeug) изначально был коллекцией различных утилит для приложений стандарта Web Service Gateway Interface (WSGI), а теперь стал одним из наиболее мощных вспомогательных модулей WSGI;

Flask ( https://github.com/mitsuhiko/flask) — микрофреймворк для Python, основанный на Werkzeug и Jinja2. Подойдет для быстрого создания веб-страниц.

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

Типичные функции

Некоторые функции одинаковы у всех проектов: детали снепшотов для каждого из них показывают, что их функции состоят из очень малого количества строк кода (меньше 20, исключая пробелы и комментарии) и множества пустых строк. Крупные и более сложные проекты включают строки документации и/или комментарии; обычно больше пятой части содержимого базы кода составляет документация. Как вы можете видеть на примере HowDoI, в котором нет строк документации (поскольку он не предназначен для интерактивного использования), комментарии необязательны, если код простой и ясный. В табл. 5.1 описаны стандартные характеристики этих проектов.

Таблица 5.1.Типичные функции рассматриваемых проектов
Пакет Лицензия Количество строк Строки документации (% от общего количества строк) Комментарии документации (% от общего количества строк) Пустые строки документации (% от общего количества строк) Средняя длина функций
HowDoI MIT 262 0 6 20 13 строк
Diamond MIT 6021 21 9 16 11 строк
Tablib MIT 1802 19 4 27 8 строк
Requests Apache 2.0 4072 23 8 19 10 строк
Flask BSD 3-clause 10 163 7 12 11 13 строк
Werkzeug BSD 3-clause 25 822 25 3 13 9 строк

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

HowDoI

Проект HowDoI, написанный Бенджамином Гляйтсманом (Benjamin Gleitzman), станет отличной стартовой точкой нашей одиссеи, несмотря на то что он состоит менее чем из 300 строк.

Читаем сценарий, состоящий из одного файла

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

Загрузите модуль HowDoI с GitHub [55] Если вы столкнетесь с проблемой, когда lxml потребует более свежую версию библиотеки libxml2, установите более раннюю версию lxml, введя команду pip uninstall lxml; pip install lxml==3.5.0. Все сработает как надо. :

$ git clone https://github.com/gleitz/howdoi.git

$ virtualenv — p python3 venv # Или используйте mkvirtualenv, на ваш выбор…

$ source venv/bin/activate

(venv)$ cd howdoi/

(venv)$ pip install — editable.

(venv)$ python test_howdoi.py # Запустите юнит-тесты

Теперь у вас должен быть установлен исполняемый файл howdoi в каталоге venv/bin. (Вы можете увидеть его, введя cat 'which howdoi' в командной строке.) Он был сгенерирован автоматически, когда вы ввели команду pip install.

Читаем документацию к HowDoI

Документация к HowDoI находится в файле README.rst, который располагается в репозитории на GitHub ( https://github.com/gleitz/howdoi). Это небольшое приложение для командной строки, позволяющее пользователям искать в Интернете ответы на вопросы, связанные с программированием.

В командной строке терминальной оболочки можно ввести команду howdoi — help, чтобы узнать, как пользоваться HowDoI:

(venv)$ howdoi — help

usage: howdoi [-h] [-p POS] [-a] [-l] [-c] [-n NUM_ANSWERS] [-C] [-v]

··············[QUERY [QUERY…]]

instant coding answers via the command line

positional arguments:

··QUERY ················the question to answer

optional arguments:

··-h, — help ···········show this help message and exit

··-p POS, — pos POS ····select answer in specified position (default: 1)

··-a, — all ············display the full text of the answer

··-l, — link ···········display only the answer link

··-c, — color ··········enable colorized output

··-n NUM_ANSWERS, — num-answers NUM_ANSWERS

························number of answers to return

··-C, — clear-cache ····clear the cache

··-v, — version ········displays the current version of howdoi

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

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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