Python, Программирование

Необычные лайфхаки для работы с Python

Время прочтения: 5 мин.

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

№1

Профилирование — это процесс, который помогает при работе с данными и их обработке. Пожалуй, одна из самых известных Python-библиотек для этого – Pandas. Данная библиотека является довольно понятной в использовании и благодаря ей можно быстро выполнять анализ данных. Кроме того, Pandas имеет встроенную функцию .plot() как часть класса DataFrame, что позволяет демонстрировать на графиках обрабатываемые данные. Стоит отметить, что функция также проста в использовании. Однако визуализация, получаемая с помощью pandas.DataFrame.plot(), является статичной и не имеет никаких интерактивных элементов. Но что, если бы оказалось, что можно привнести эту приятную глазу интерактивность, не внося при этом серьезных изменений в код? Что ж, это действительно реально, и поможет нам в этом библиотека Cufflinks. Данной библиотеке под силу объединить в себе мощь plotly (Python-библиотека для построения интерактивных графиков) и гибкость pandas.

Установка:

pip install plotly #установка дополнительных зависимостей
pip install cufflinks

Настройка и применение:

import pandas as pd
import cufflinks as cf
#импорт plotly и cufflinks для offline-использования
import plotly.offline

cf.go_offline()
cf.set_config_file(offline = False, world_readable = True)

Построение графика:

df.iplot() 
#df – переменная, хранящая в себе данные для построения графика

Пример визуализация базы данных:

№2

Ни для кого не будет новостью, что при написании кода очень часто используется функцию print(). И все замечательно, когда нужно вывести небольшой объем информации, например, состояние булевой переменной. Но что, если нам нужно, допустим, вывести в консоль лист, в котором каждый элемент хранит в себе еще несколько состояний. Наглядно вывести подобную информацию с помощью одной строки кода, используя print(), уже не получится. Здесь нам с приятным для восприятия выводом поможет модуль pprint, он же Pretty Printer.

Установка:

pip install prettyprinter

Демонстрация:

import pprint
test = {‘ID’: ‘5763’, ‘Name’: ‘Ivan Ivanov’, 
‘Project’: {‘ID’: ‘10’, ‘Title’: ‘Test’, ‘flag’: ‘True’}}
print(test)
pprint.print(test, width=-1)

№3

С приятным для восприятия выводом вроде разобрались. Но давайте посмотрим вновь на пример из предыдущего лайфхака. Думаю, было бы неплохо еще выделить цветом или начертанием, например, значения ключей листов, вновь для нашего же удобства и наглядности. Также такая визуализация была бы очень полезной при отладке кода. Признайтесь, мы же не всегда код проверяем через дебаггер, а функция print() порой тоже оказывается очень полезной в данной ситуации. Нашему глазу будет очень легко зацепиться за неверное состояние, если оно в консоли при выводе будет выделено цветом. Примеров, полагаю, можно привести еще достаточно, где данное нововведение сыграло бы хоть малейшую роль. Что ж, даже для цветного вывода в консоль найдется свой модуль, а именно библиотека с названием Colorama.

Установка:

pip install colorama

Импорт зависимостей и настройка:

from colorama import init
init(autoreset=True)

Пример использования:

print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')

№4

При написании кода каждый программист сталкивается с тем, что ему нужно что-то «загуглить». С одной стороны, переключиться между окном среды разработки и браузером, чтобы найти интересуемый материал, труда большого не составит. Но естественно не всегда ответ на вопрос ждет нас на первой вкладке, приходится тратить время, чтобы найти именно то, что решит проблему. Модуль howdoi поможет найти ответ на многие основные вопросы, связанные с кодом, при этом весь процесс «вопрос-ответ» полностью происходит в консоли. Как же это работает? Модуль сравнивает Ваш вопрос с вопросами на сайте StackOverflow и предлагает Вам варианты кода из лучших ответов с данного ресурса.

Установка – вариант 1:

pip install howdoi

Установка – вариант 2:

pip install git+https://github.com/gleitz/howdoi.git#egg=howdo

Примеры использования:

1) Как проверить является ли список пустым:

C:\...>howdoi check if list is empty in python

2) Как выполнить перенаправление на другую web-страницу:

C:\...>howdoi redirect to another webpage

3) –l необязательный аргумент. Используется, если необходимо узнать ссылку на страницу, с которой был получен ответ:

C:\...>howdoi –l check if an element is hidden in jquery

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

Удачного дня!

Советуем почитать