Python на примерах
1.39K subscribers
411 photos
6 videos
145 links
Короткие уроки Python на примерах
Download Telegram
Работаем с клавиатурой. Библиотека keyborad

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

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

Установка
pip install keyboard

Документация
👍1
Назначаем функцию на нажатие клавиш

Создаем функцию. Далее нам необходима библиотека keyboard. Используем функцию add_hotkey. В качестве аргумента указываем комбинацию и функцию.
👍8
Быстрый deque

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

deque обеспечивает линейную сложность O(1) для операций добавления и выталкивания, у стандартного списка сложность по этим операциям O(n).

Для deque есть возможность использовать стандартные функции — sum, min, max и другие.
Красивая консоль

Зачастую вся информация в консоли - это скучный белый или же черный текст. Согласитесь, такое и читать не интересно. Благо в питоне есть библиотека TermColor.

За счет этой библиотеки мы быстро можем настроить какие именно стили будут применены к тексту в консоли
👍2
Фиксируем нажатые клавиши

Для этого используем событие библиотеки keyboard.on_release(), в качестве аргумента передаем функцию-обработчик. И выводим в консоль.
Случайные числа с модулем random

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

В первом примере мы получаем случайное число от 1 до 10, при этом последняя переданная единица — шаг, т. е. если бы мы передали не её, а например двойку, случайное число бы искалось из диапазона 1, 3, 5 и т. д.

С документацией можно ознакомиться по ссылке.
👍3
Редактор видео

Все еще в поиске крутого видео редактора? Зачем что-то искать, когда есть Python и замечательная библиотека MoviePy :)

За счет MoviePy вы можете перевернуть видео, можете его обрезать, можете изменить количество FPS и можете выполнить ещё много других действий.

Мы создадим программу, что будет принимать видео и отделять от него звук, который будем сохранять в качестве отдельного файла.
👍5😁1
Проверяем тип переменной

Функция isinstance() позволяет быстро проверить тип переменной, ничего не устанавливая и не импортируя. Первым аргументом передается сама переменная, а вторым — тип для проверки соответствия.
👍4
Отступы

«Должен быть один – и желательно только один – очевидный способ сделать что-либо», — Дзен Python.

Отступы чрезвычайно важны в Python. Уровень отступа строк кода в Python определяет, как группируются операторы.

Оператор print с отступом сообщает Python, что он должен выполняться только в том случае, если if возвращает True. Тот же отступ применяется для указания Python, какой код выполнять при вызове функции или какой код принадлежит данному классу.
Выводим положение курсора

Для вывода положения курсора получаем его координаты из функции get_position().

Далее собираем бесконечный цикл и выводим положение.

Это можно использовать для хранения движения курсора по экрану.
👍2
Обработка ошибок во время выполнения

Это самый полезный совет для программистов, работающих с Python. Вы можете устранить ошибку и избавить программу от сбоев во время выполнения.
Транспонирование 2d-массива

Этот лайфхак покажет, как выполнить транспонирование 2d-массива с помощью метода zip.
👍2
Работа с датами

Модуль python-dateutil предоставляет мощное расширение для стандартного datetime. Устанавливается он следующим образом:

pip3 install python-dateutil

Выше приведен пример парсинга даты из логов.
Сокращение ссылок

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

Создать такую ссылку можно всего за три строчки кода, при помощи использования библиотеки PyShorteners. Вам нужно установить библиотеку в проект, выполнить её подключение, а также создать объект на её основе.

Установка библиотеки - pip install pyshorteners.
👍3❤1
Простая фишка, о которой знает небольшое количество разработчиков. Если у вас есть несколько переменных, можно присвоить им значения в одну строчку.
👍5
Копирование объектов

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

Если же использовать copy.deepcopy(), то получатся "настоящие" копии объекта и всех его ссылок.
👍4
Находим подстроку

В Python легко проверить, является ли какая-то строка частью другой строки. Достаточно использовать оператор in.

Оператор пригодится при анализе больших текстов и их классификации.
Распаковка массива

Иногда возникает необходимость красиво и быстро вывести содержимое массива (например, в задачах на хакатонах). Для этого поможет оператор *.

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

Есть встроенная возможность быстро проверить, получится ли вызвать ту или иную переменную (либо значение) с помощью (). Для этого можно вызвать функцию callable.
Удаление специальных символов при помощи join() и filter()

Давайте воспользуемся методом соединения join(). Откройте тот же файл и инициализируйте строку с обычными и специальными символами. Первоначальная строка будет выводиться на экран первой.

Далее мы используем метод join() с функцией filter() для строковой переменной v1, чтобы отфильтровать символы. В данном случае для сбора только обычных символов из переменной v1 используется метод isalnum().