Найти в Дзене
Nuances of programming

5 любопытных библиотек Python

Оглавление

Источник: Nuances of Programming

Как один из наиболее популярных языков программирования, Python содержит огромное количество прекрасных библиотек, облегчающих разработку, таких как Pandas, Numpy, Matplotlib, SciPy и так далее.

Однако в этой статье я познакомлю вас с библиотеками скорее любопытными, чем полезными. Я считаю, эти библиотеки демонстрируют ещё один аспект процветания Python сообщества.

1. Bashplotlib

-2

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

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

Bashplotlib легко установить с помощью pip:

pip install bashplotlib

Рассмотрим несколько примеров. В коде ниже я импортировал numpy, чтобы сформировать несколько случайных массивов, и, разумеется, bashplotlib:

import numpy as np
from bashplotlib.histogram import plot_hist
arr = np.random.normal(size=1000, loc=0, scale=1)

plot_hist — это функция bashplotlib, предназначенная для нанесения данных на одномерную гистограмму, как это делает plt.hist в Matplotlib. Затем я использовал сформированные Numpy случайные массивы из 1,000 нормально распределённых чисел. Теперь мы легко можем отобразить эти данные следующим образом:

plot_hist(arr, bincount=50)

Вывод будет таким:

-3

Интересно, неправда ли? 🙂

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

-4

2. PrettyTable

-5

Bashplotlib предназначена для отображения данных в среде командной строки, а PrettyTable предназначена для создания таблицы выходных данных в красивом формате.

Устанавливаем эту библиотеку так же с помощью pip:

pip install prettytable

Сначала импортируем библиотеку:

from prettytable import PrettyTable

Затем используем PrettyTable для создания объекта таблицы:

table = PrettyTable()

Теперь, когда у нас есть объект таблицы, добавим поля и строки данных:

Чтобы отобразить страницу, просто напечатаем её!

print(table)

-6

PrettyTable также поддерживает доработку стилей таблиц буквально во всех возможных аспектах. Например, текст в таблице можно выровнять по правому краю.

table.align = 'r'
print(table)

-7

Отсортировать таблицу по столбцу.

table.sortby = "City"
print(table)

-8

Можно даже получить HTML-строку таблицы:

-9

3. FuzzyWuzzy

-10

Как мне кажется, эта библиотека не только интересная, но и очень полезная. Множество раз вам могло прийти в голову реализовать “размытую” функцию поиска для вашей программы. FuzzyWuzzy предоставляет готовое и лёгкое решение.

Устанавливаем с помощью pip:

pip install fuzzywuzzy

Импортируем библиотеку:

from fuzzywuzzy import fuzz

Пишем простой текст:

fuzz.ratio("Let’s do a simple test", "Let us do a simple test")

-11

Как видим, результат “93” означает, что эти две строки совпадают на 93%, что довольно высоко.

Если у вас есть список строк, а термин необходимо искать во всех строках, FuzzyWuzzy поможет выделить наиболее похожие слова:

-12

В примере выше параметр limit сообщает FuzzyWuzzy, что нужно выделить “top n” результатов. В противном случае вы получите список кортежей, содержащий все исходные строки и их показатели сходства.

4. TQDM

-13

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

Устанавливаем с помощью pip:

pip install tqdm

Если у вас есть цикл for, использующий функцию range, просто замените его на trange из tqdm.

from tqdm import trangefor i in trange(100):
sleep(0.01)

-14

В более общем случае можно легко зациклить список с помощью tqdm.

from tqdm import tqdm
for e in tqdm([1,2,3,4,5,6,7,8,9]):
sleep(0.5)
# Предположим, мы делаем что-то с элементами

-15

tqdm работает не только со средой командной строки, но также с iPython/блокнотом Jupyter.

https://github.com/tqdm/tqdm
https://github.com/tqdm/tqdm

5. Colorama

-17

Хотите добавить цвета в приложения командной строки? С Colorama проще простого сделать вывод в любом выбранном вами цвете.

Устанавливаем Colorama с помощью pip:

pip install colorama

Colorama поддерживает отображение цвета на переднем плане (цвет текста), заднем плане (цвет фона) и в стиле (дополнительные стили цвета). Импортируем:

from colorama import Fore, Back, Style

Сначала давайте покажем некоторые предупреждения жёлтым цветом:

print(Fore.YELLOW)
print("This is a warning!")

-18

Теперь попробуем указать на некоторые ошибки, используя красный цвет фона:

print(Back.RED + Fore.WHITE + "This is an error!")

-19

Этот красный слишком яркий, давайте используем стиль “dim”:

print(Back.RESET + Style.DIM + "Another error!")

Устанавливаем “RESET” для возврата цвет фона по умолчанию:

-20

Стиль “DIM” делает шрифт невидимым. Если нужно вернуть всё обратно, просто задайте стилю значение “RESET_ALL”:

print(Style.RESET_ALL)

-21

Заключение

-22

Спасибо разработчикам открытого исходного кода, благодаря которым процветает сообщество Python.

Мне никогда не приходила в голову идея графического вывода данных в среде командной строки до того, как я увидел библиотеку Bashplotlib. И независимо от того, пригодится ли она вам, по-моему, разнообразие идей разработки и креативность разработчиков восхитительны.

Жизнь коротка, используйте Python!

Читайте также:

Читайте нас в телеграмме и vk

Перевод статьи Christopher Tao: 5 Interesting Python Libraries