И еще несколько полезных библиотек для python (с примерами)

mimesis

github: 3348

Часто для проверки работы алгоритмов нужно собрать достаточно данных, чтобы на них тестировать. Создание данных вручную занимает очень много времени, для избавления от этой рутины может помочь модуль mimesis, который умеет генерировать рандомные данные по нескольким критериям. Устанавливается он просто выполнив: . При помощи данного модуля можно генерировать различные данные на различных языках, например:

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

Keras

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

В бэкэнде Keras внутренне использует Theano или TensorFlow. Также можно использовать некоторые из самых популярных нейронных сетей, такие как CNTK. Keras относительно медленная, если сравнивать ее с другими библиотеками машинного обучения. Дело в том, что эта библиотека создает вычислительный граф, используя внутреннюю инфраструктуру, а затем использует его для выполнения операций. Все модели в Keras портативные.

Особенности Keras

  • Без проблем работает как на CPU, так и на GPU.
  • Поддерживает почти все модели нейронных сетей – полносвязные, сверточные, объединенные, рекуррентные, встраиваемые и т.д. Кроме того, эти модели можно комбинировать для построения более сложных моделей.
  • Keras, будучи модульной по своей природе, невероятно выразительная и гибкая.
  • Более того, Keras полностью основана на Python, что упрощает отладку и изучение.

Где мы используем Keras?

Вы уже постоянно взаимодействуете с функциями, созданными с помощью Keras. Эта библиотека используется в Netflix, Uber, Yelp, Instacart, Zocdoc, Square и многих других. Она особенно популярна среди стартапов, продукты которых завязаны на машинном обучении.

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

Кроме того, эта библиотека предоставляет множество предварительно обработанных наборов данных и предварительно обученных моделей, таких как MNIST, VGG, Inception, SqueezeNet, ResNet и т.д.

Keras является фаворитом среди исследователей глубокого обучения, занимая второе место. Она применяется исследователями в крупных научных организациях, в частности, в ЦЕРНе и НАСА.

Начните с HTML и CSS

Часто их называют языками программирования, но это не верно. Это язык разметки и таблица стилей, с помощью которых верстается страница. Все сайты используют HTML и CSS. Прелесть технологий — в их простоте: их легко освоить на среднем уровне за 2-3 недели. Если вам интересно работать в интернете — попробуйте.

JavaScript

Один из самых популярных языков для работы с сайтами. До сих пор использование этой технологии — едва ли не единственный способ сделать страницу интерактивной, заставить сайт реагировать на действия пользователя. Изначально JS создавали специально для веб-разработки, но сейчас с его помощью можно делать очень многое:

  • серверные и консольные приложения;
  • игры и сервисы для мобильных;
  • программы для десктопа.

Этот язык быстро развивается, востребован на фрилансе. Часто именно JS рекомендуют в ответ на вопрос, какой язык программирования выбрать для быстрого старта. Его легко освоить.

Начинающий разработчик на JavaScript может рассчитывать на 30 тысяч рублей в месяц. Средний — 45–90 тысяч и больше. C опытом от трех лет — на 135 тысяч и больше.

Особенности:

  • Неявная типизация. Когда разработчик пишет код, он использует переменные — строки, числа и прочее. В языках со строгой типизацией программисту приходится объявлять тип переменных — сообщать обработчику, что это, например, число или строка. В языках с неявной типизацией обработчик «понимает» это сам. С одной стороны, это плюс — код пишется быстрее. С другой стороны — минус, потому что новички часто ошибаются и создают операции для переменных с разными типами данных. Например, в коде порой встречается суммирование чисел и слов. Это довольно формальное объяснение, на самом деле всё сложнее. Подробнее вы поймете эти особенности после старта обучения.
  • Малонадёжность — JS не используют в сверхсложном ПО, разрабатывать банковские или промышленные продукты на нем не получится.

Стек:

  • редактор кода или IDE (среда разработки): Notepad++, Sublime Text, WebStorm;
  • отладчик: браузер, Firebug;
  • среда исполнения для серверного ПО: NodeJS + менеджер пакетов npm.

Разрабатывать удобно в редакторе кода — он подсвечивает синтаксис и подсказывает нужное написание. Отладка, или пошаговое исполнение программы, в JS происходит в DevTools браузера, дополнительное ПО необязательно.

Пример синтаксиса JavaScript — обработка формы входа

Не забывайте о библиотеках и фреймворках. Это компоненты, из которых собирается программа. Для упрощения понимания: представьте строительство дома. Вы не создаете с нуля каждый кирпич, не делаете сами молоток, а пользуетесь готовыми инструментами и материалами. В случае с программированием — делаете программу из компонентов библиотеки или фреймворка.

Не торопитесь вникнуть во все технологии сразу. Начинаете с нуля — используйте чистый язык и разбирайтесь в принципах программирования.

Дополнительно пригодится:

  • для десктопных программ: Electron и AppJS;
  • популярные фреймворки и библиотеки: jQuery, AngularJS, ReactJS, Ember;
  • JSON — популярный формат передачи структурированных данных;
  • MongoDB — документо-ориентированная база данных для JS-процедур.

pyspellcheker

github: 400

Если у вас есть приложение, которое обрабатывает текстовые данные, например, принимает запросы от пользователя в виде текста (набора слов) и отбирает данные по этому тексту или есть приложение, которое статистически обрабатывает слова в тексте, то всегда может возникнуть проблема неправильного написания слов. В таком случае может помочь библиотека pyspellcheker. Установить её довольно просто, достаточно выполнить . Данный модуль помогает исправлять орфографические ошибки в словах. Ниже приведен код работы библиотеки с описанием:

Сразу стоит провести испытания по скорости исправления опечаток для 5000 слов:

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

Can I learn Python in a month?

Apparently yes you can! First and foremost requirement to learn Python (within a month or not) is knowledge of coding and a little bit pro efficiency in any other language like C, C++, C#, Java etc. If you have the workable knowledge of any of these languages, you can learn Python in a month. Here is how! 

Learning basic Python syntax takes 2 days(including oops). But if you want to get comfortable writing code, it might take some time. You might be adding semicolons at the end of lines and similar mistakes since you have experience in C and Java.

You should then start off by doing some project. Make sure it covers all the concepts like lists, strings, classes, objects. One such online course that teaches you python with a project is Intro to Computer Science | Udacity

Coming to advanced concepts, it all depends on your interests. Python offers you libraries for almost everything you want to do. Some of them are:

  1. Python Training | Python For Data Science | Learn Python
  2. The Web framework for perfectionists with deadlines
  3. Image processing in Python
  4. Natural Language Toolkit
  5. Pygame

Another recommendation is taking MIT’s to learn the language. It is easily one of the best computer science courses available for free through edX and it’ll teach you how to think like a programmer. The course uses Python as the language of choice so you will learn a lot about Python from taking this course, but bear in mind that it does not teach you all there is to learn about Python but is a great starting point to get introduced to this lovely programming language.

Синтаксис питона

Для того, чтобы было удобнее работать программистам с языком Python был придуман достаточно простой синтаксис. Приведу основные принципы.

  • Конец строки обозначает завершение инструкции. Не нужно специально обозначать точкой с запятой или какими — то другими символами;
  • Для того, чтобы отделить вложенные блоки друг от друга, используется отступ при помощи табуляции. Как правило, это четыре пробела;
  • Основная инструкция заканчивается двоеточием. После нее под строкой располагается вложенная инструкция или блок с отступом в четыре пробела.

Есть еще некоторые специальные случаи, которые лучше рассмотреть отдельно.

Функции

Функция – это часть кода, принимающая аргументы и возвращающая вычисленное значение. Аргумент – это объект, отправляемый в функцию. Аргументом может быть какое-нибудь значение или ссылка на него.


функции языка программирования Python

В функции используются параметры и их число не ограничено. Число аргументов соответствует параметрам. Функцию можно объявить в любом месте. Она записывается как:

— def <имя функции> (): — после определения функции ставиться двоеточие, аргументы функции заключаются в круглые скобки. После двоеточия идет со следующей строки отступ и тело функции.

Для выхода из функции используется оператор return, который возвращает значения. Если оператор return не указан, то произойдет возврат значения None.

Функции бывают встроенные и пользовательские. В интерпретаторе Python есть ряд часто используемых функций. Они всегда доступны и можно посмотреть документацию с их описанием и примерами применения. Например, при помощи функции input () можно ввести данные с клавиатуры, а при помощи функции print () вывести данные в консоль. Так, print (“Hello, World!”) выводит строку «Hello, World!».

Еще одной интересной функцией является декоратор. Декоратор позволяет расширить возможности функции, не меняя ее кода, при помощи обертывания функции другой функцией.

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

Веб-разработка

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

Beautiful Soup. Библиотека Python для быстрого парсинга HTML- и XML-файлов.

scrape. Модуль Python для веб-браузинга и скрапинга.

mechanize. Очень полезный модуль, благодаря которому вы получаете эмулятор браузера для взаимодействия с веб-страницами.

libgmail. Обеспечивает доступ к гугловскому сервису Gmail.

Google Maps. Благодаря этому модулю можно использовать веб-сервисы платформы Google Maps в своем приложении на Python.

Requests позволяет невероятно легко отсылать HTTP/1.1-запросы.

Selenium. При помощи этого модуля разработчики могут программными методами открывать веб-страницы, заполнять поля, кликать по кнопкам и отсылать формы.

pyquery позволяет делать jQuery-запросы в XML-документах. API этой библиотеки максимально приближен к jQuery. Для быстрой манипуляции с XML и HTML pyquery использует LXML.

JavaScript

JavaScript — это язык программирования от компании Netscape, который является реализацией стандарта ECMAScript.
Microsoft выпустила похожие версии языка под названием JScript, поэтому под названием «JavaScript» часто понимается
любая версия языка, в том числе и Microsoft JScript.

В большинстве случаев при упоминании JavaScript подразумевается так называемый клиентский JavaScript, интерпретатор
которого встроен в Web-браузеры. Однако JavaScript изначально был разработан как универсальный язык программирования
для встраивания в любое приложение и обеспечения возможности написания в нем сценариев. Например, ActionScript, язык
сценариев, доступный в Macromedia Flash 5 и MX, также смоделирован в соответствии со стандартом ECMAScript.

Интерпретатор JavaScript от Netscape был выпущен в виде открытого исходного кода и доступен через организацию
Mozilla (http://www.mozilla.org/js/). Mozilla предоставляет две различные
версии интерпретатора JavaScript — «SpiderMonkey» (написана на С) и «Rhino» (написана на Java).

Вопреки распространенному заблуждению, кроме некоторой синтаксической схожести, языки Java и JavaScript ничего не
связывает. Схожесть имен — не более, чем уловка маркетологов (первоначальное название языка — LiveScript — было
изменено на JavaScript в последнюю минуту).

10.7. Доступ в интернет¶

Имеется ряд модулей для доступа в интернет и обработки интернет протоколов. Два
из самых простых: для получения данных из URL-адресов и
для отправки почты:

>>> from urllib.request import urlopen
>>> with urlopen('http://tycho.usno.navy.mil/cgi-bin/timer.pl') as response
...     for line in response
...         line = line.decode('utf-8')  # Декодирование двоичных данных в текст.
...         if 'EST' in line or 'EDT' in line  # искаять восточное время
...             print(line)

<BR>Nov. 25, 09:43:32 PM EST

>>> import smtplib
>>> server = smtplib.SMTP('localhost')
>>> server.sendmail('[email protected]', '[email protected]',
... """To: [email protected]
... From: [email protected]
...
... Beware the Ides of March.
... """)
>>> server.quit()

SciPy

SciPy – это библиотека машинного обучения для разработчиков приложений. При этом нужно понимать разницу между библиотекой SciPy и стеком SciPy. Библиотека SciPy содержит модули для оптимизации, линейной алгебры, интеграции и статистики.

Особенности SciPy

  • Основная особенность библиотеки SciPy заключается в том, что она разработана с использованием NumPy, а ее массив максимально использует NumPy.
  • Кроме того, SciPy предоставляет все эффективные численные процедуры, такие как оптимизация, численное интегрирование и многие другие, с использованием своих специальных подмодулей.
  • Все функции во всех подмодулях SciPy хорошо документированы.

Использование SciPy

SciPy использует массивы NumPy в качестве базовой структуры данных и поставляется с модулями для различных часто используемых задач в научном программировании.

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

Как работает Python

После того, как написан код, должна произойти его обработка интерпретатором Python. Что такое обработка?

Для этого интерпретатор должен быть установлен на вашем компьютере. В целом обработка кода происходит в четыре этапа:

  1. Программа читается парсером и происходит анализ лексики. Где parser – это анализатор синтаксиса. В итоге получается набор лексем для дальнейшей обработки.
  2. Затем парсером из инструкций происходит генерация структуры и формирования дерева синтаксического разбора — AST.
  3. После этого компилятор преобразует AST в байт-код и отдает его на выполнение интерпретатору.
  4. Интерпретатор построчно исполняет все переданные ему инструкции.

Всю информацию по обработке кода можно найти в документации Python в открытом доступе.

Итераторы, заканчивающиеся кратчайшей входной последовательностью

4. ACCUMULATE

Это функция, которая создает накопленные суммы или результаты двоичных функций. Она ведет себя аналогично известной функции reduce из библиотеки functools, за исключением того, что возвращает текущие значения для каждого элемента, переданного в функцию.

Простой пример сложения последовательных итерируемых элементов вместе:

По умолчанию значения складываются друг с другом. Если вы хотите изменить операцию, вы можете сделать это, передав функцию в качестве параметра func.

Помните, что она должна принимать ровно два аргумента (так называемая бинарная функция). Например, пусть это будет продукт:

Другим примером может быть возврат текущего максимального значения:

Количество элементов в возвращаемом итераторе будет равно количеству элементов в итераторе, переданном в качестве аргумента.

Единственным исключением является передача необязательного аргумента initial, который задает начальное значение.

5. CHAIN

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

6. CHAIN.FROM_ITERABLE

Описанная выше функция chain имеет метод from_iterable, наиболее популярное применение которого, возможно, заключается в уплощении множества.

PyForest

Когда вы начинаете писать код для проекта, каков ваш первый шаг? Наверное, вы импортируете нужные библиотеки. Проблема в том, что заранее неизвестно, сколько библиотек нужно импортировать, пока они вам не понадобятся, то есть пока вы не получите ошибку. 

Вот почему PyForest — это одна из самых удобных библиотек, которые я знаю. С её помощью в ваш блокнот Jupyter можно импортировать более 40 популярнейших библиотек (Pandas, Matplotlib, Seaborn, Tensorflow, Sklearn, NLTK, XGBoost, Plotly, Keras, Numpy и другие) при помощи всего одной строки кода. 

Выполните pip install pyforest. Для импорта библиотек в ваш блокнот введите команду from pyforest import *, и можно начинать. Чтобы узнать, какие библиотеки импортированы, выполните lazy_imports(). 

При этом с библиотеками удобно работать. Технически они импортируются только тогда, когда вы упоминаете их в коде. Если библиотека не упоминается, она не импортируется.

Изучение Python: с чего начать

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

Во-вторых, пройдите курсы. Начните с бесплатных видеоуроков на YouTube. Множество специалистов безвозмездно делятся знаниями и простыми уроками. Для глубокого изучения языка можете приобрести и платные курсы, которые длятся несколько месяцев, а в конце вам будет доступна стажировка в реальной компании.

В-третьих, больше практикуйтесь. Начните писать простые программы. Теория и практика — это совершенно разные вещи в программировании.

PHP

На этом языке делают серверную часть в вебе. Он абсолютный чемпион — 80% сайтов написано с помощью PHP. На нем сделаны популярные CMS: Битрикс, WordPress, Joomla.

Когда отправляете фото в «Инстаграм» или другие данные на любой сайт, сервер должен их принять, обработать и вернуть обратно результат. Именно этим и занимается PHP.

Для Junior зарплаты начинаются от 35 тысяч рублей. Middle может рассчитывать на ценник от 80 тысяч рублей. Для Senior предлагают зарплату от 95 тысяч. Средняя зарплата — 88 тысяч рублей.

Особенности:

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

Недостатки:

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

Стек:

  • текстовый редактор или IDE: PhpStorm, Notepad++, Sublime Text;
  • базы данных: MySQL, PostgreSQL;
  • No-SQL хранилища: Memcached, Redis, MongoDB;
  • отладчик: XDebug;
  • профайлер: XHProf — подскажет, какая функция сколько времени исполняется;
  • фреймворки: Symphony, Yii, Laravel;
  • менеджер пакетов: Composer.

Прогресс будет быстрее, если вы найдете ментора или курсы. Как и в любом языке, в PHP есть сложные для освоения тонкости, которые лучше постигать с поддержкой.

Пример синтаксиса на PHP — страница с демонстрацией новостей из базы данных

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

Pandas

Pandas – это библиотека машинного обучения на Python, предоставляющая структуры данных высокого уровня и широкий спектр инструментов для анализа.

Одна из замечательных особенностей этой библиотеки – возможность проводить сложные операции с данными с помощью одной или двух команд.

Pandas имеет много встроенных методов для группировки, объединения данных и фильтрации. Кроме того, в ней также есть функциональность временных рядов.

Особенности Pandas

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

Использование Pandas

Pandas постоянно совершенствуется. Улучшения касаются ее способности группировать и сортировать данные, выбирать наиболее подходящие выходные данные для применяемого метода. Кроме того, это ещё и обеспечение поддержки для выполнения операций с настраиваемыми типами.

Pandas при использовании с другими библиотеками и инструментами обеспечивает высокую функциональность и хорошую гибкость. Кроме того, она крайне полезна при решении задач анализа данных.

Seaborn

Seaborn – это библиотека Python, которая в основном используется для создания статистической графики набора данных. Эта библиотека построена на основе библиотеки Matplotlib. Она также тесно интегрирована с Pandas, который используется для структуры данных Datasets.

Seaborn очень помогает лучше исследовать и понимать данные. Обеспечивает высокий уровень пересечения для создания набросков привлекательной и информативной алгебраической графики. Давайте разберемся в следующем примере.

Пример –

 
import seaborn as sns 
sns.set( color_codes = True) 
import matplotlib.pyplot as plt 
for i in range(n_rows): 
    fg,ax = plt.subplots(nrows=1,ncols=n_cols,sharey=True,figsize=(8, 2.4)) 
    for j in range(n_cols): 
        sns.violinplot(x = data.Outcome, y=data], ax=ax)  
        idx += 1 
        if idx >= 8: 
            break 

Выход:

Boken

Boken – это библиотека Python, которая также основана на грамматике графики, как и ggplot. Это присуще только языку Python. Библиотеку нельзя использовать в языке программирования R. Эта библиотека может создавать интерактивные веб-графики, которые являются выходными данными объектов JSON, интерактивных веб-приложений или документов HTML. Библиотека языка Python также позволяет передавать данные в потоковом режиме и в реальном времени.

Есть три интерфейса с разными уровнями управления для размещения разных типов пользователей в библиотеке Bokeh. Самый высокий уровень контроля используется для быстрого создания диаграмм. Эта библиотека включает различные методы создания и построения стандартных диаграмм, таких как гистограммы, гистограммы и ящичные диаграммы.

Самый низкий уровень ориентирован на разработчиков и инженеров-программистов. На этом уровне нет заранее установленных значений по умолчанию, и пользователи должны определять каждый элемент диаграммы или графика. Средний уровень управления имеет те же характеристики, что и библиотека Matplotlib. Этот уровень позволяет пользователям контролировать базовое развитие блоков каждого графика.

Пример –

 
from bokeh.plotting import figure , output_file , show 
from bokeh.sampledata.stocks import AAPL 
aapl = np.array( AAPL  ) 
aaply_city = np.array( AAPL  , dtype = np.city.temperature(F) 
windows_size = 30 
window = np.ones( windows_Size ) / float( windows _size ) 

pyarmor

github: 1149

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

Существует хорошая и удобная библиотека pyarmor, которая позволит в пару кликов провести обфускацию кода. Данная библиотека может работать как из консоли, так и через собственный графический интерфейс. Для её использования достаточно выполнить: — для работы из консоли и для установки графического интерфейса.

Создадим в некоторой папке “pyarm” два файла с кодом, первый файл назовём “one_module.py” с кодом:

И main.py:

Далее в консоли запустим pyarmor, выполнив команду , после чего в браузере откроется главное меню:

Далее зайдем в раздел “Obfuscate Script Wizard”, в нем пропишем путь к директории с файлами и основной файл:

Далее нажмем “next” и пропишем дополнительный настройки, что необходимо рекурсивно в папке обфусцировать все файлы:

И нажмем “obfuscate”. В папке “pyarm” появится папка “dist”,  в которой будут лежать обфусцированые файлы. Посмотрим, что в них:

Можно запустить main.py и убедиться, что все работает, как надо. Алгоритм отработал так же, как и до изменения кода:

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

Matplotlib

Matplotlib – это библиотека, используемая для построения графиков на языке программирования Python. Используется построение 2-х мерных массивов. Matplotlib построен на массивах NumPy. Он предназначен для работы со стеком SciPy. Он был разработан Джоном Хантером в 2002 году.

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

Matplotlib имеет огромное количество разнообразных графиков. Графики полезны для понимания закономерностей, тенденций и установления корреляций. У него есть инструменты для рассуждения о количественной информации.

Поскольку matplotlib была самой первой библиотекой визуализации данных на Python, многие другие библиотеки были разработаны поверх нее или предназначены для работы параллельно с ней для анализа набора данных.

 
import matplotlib.pyplot as pyplt 
import numpy as np 
np.random.seed( 16 )  
pyplt.ylable( ' stepfilled ' ) 
pyplt.show( ) 

Выход:

Pygame

Основное назначение: разработка 2D-игр.

Дополнительное назначение : разработка мультимедийных приложений.

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

Конечно, таких уж громких и крупных проектов на данной библиотеке нет, однако инди разработчики смогут полноценно реализовывать свои проекты.

С помощью данной библиотеки, также можно портировать приложения, на платформу Android. Для этого необходимо использовать расширение pgs4a.

Особенности:

  • Не требует OpenGL
  • Облегчает использование многоядерных процессоров
  • Для использования всех доступных функций графический интерфейс не требуется
  • Использует ассемблерный и оптимизированный C-код для реализации основных функций

Bokeh

Bokeh — это интерактивная библиотека для визуализации, предназначенная для презентации данных в браузерах.

Плюсы

  1. Интерактивная версия Matplotlib

Если мы будем будем составлять топы интерактивных библиотек для визуализации, Bokeh, вероятно, займет первое место в категории сходства с Matplotlib.

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

Например, круговой график Matplotlib,

который, в Bokeh, может быть создан с лучшим разрешением и функциональностью:

2. Связь между графиками

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

Например, если мы создаем 3 графика рядом и хотим наблюдать их взаимосвязь, мы можем связанное закрашивание 

Минусы

Поскольку Bokeh — это библиотека, которая имеет интерфейс среднего уровня, она часто требует меньше кода, чем Matplotlib, но требует больше кода для создания того же графика, чем Seaborn, Altair или Plotly.

Например, для создания такого же расчетного графика с данными с Титаника, помимо преобразования данных заранее, мы также должны установить ширину столбца и цвет если мы хотим, чтобы график выглядел красиво.

Если мы не добавим ширину столбцов графика, то он будет выглядеть так:

Таким образом, нам нужно вручную настраивать параметры, чтобы сделать график более красивым:

Если вы хотите создать красивую столбчатую диаграмму, используя меньшее количеством кода, то для вас это может быть недостатком Bokeh по сравнению с другими библиотеками

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: