Где и как применить Python на практике? Три основные сферы его применения


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

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

1. Bashplotlib

Когда я впервые увидел эту библиотеку, я подумал, зачем вообще кому-то она может понадобиться? 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)

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

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

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

2. PrettyTable

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

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

pip install prettytable

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

from prettytable import PrettyTable

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

table = PrettyTable()

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

table.field_names = ['Name', 'Age', 'City'] table.add_row(["Alice", 20, "Adelaide"]) table.add_row(["Bob", 20, "Brisbane"]) table.add_row(["Chris", 20, "Cairns"]) table.add_row(["David", 20, "Sydney"]) table.add_row(["Ella", 20, "Melbourne"])

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

print(table)

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

table.align = 'r' print(table)

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

table.sortby = "City" print(table)

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

3. FuzzyWuzzy

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

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

pip install fuzzywuzzy

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

from fuzzywuzzy import fuzz

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

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

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

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

from fuzzywuzzy import process choices = ["Data Visualisation", "Data Visualization", "Customised Behaviours", "Customized Behaviors"] process.extract("data visulisation", choices, limit=2) process.extract("custom behaviour", choices, limit=2)

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

4. TQDM

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

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

pip install tqdm

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

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

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

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

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

https://github.com/tqdm/tqdm

5. Colorama

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

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

pip install colorama

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

from colorama import Fore, Back, Style

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

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

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

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

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

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

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

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

print(Style.RESET_ALL)

Заключение

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

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

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


Перевод статьи


Поделиться статьей:


Вернуться к статьям

Комментарии

    Ничего не найдено.