Python - Советы, библиотеки, гайды – Telegram
Python - Советы, библиотеки, гайды
18.7K subscribers
1.18K photos
25 videos
6 files
595 links
Всё для Python программиста :3
Готовый код, советы, лайфхаки, годные библиотеки, уроки и многое другое!

Автор - Абрахам (@priler)

РКН: https://kurl.ru/uXZzR
Download Telegram
Как получить текущий день недели на Python?

Казалось бы, простая задача.
Но у нее есть масса вариантов решения.
И новички обычно создают свой словарь вида days = {0: "понедельник", 1: "вторник" ...}
Но это неверно, потому что в нашем любимом языке уже есть модуль calendar и даже со встроенной локализацией.

То же самое легко проделать с любой датой календаря.
Достаточно вместо today = date.today() написать today = calendar.weekday(2021, 7, 25) чтобы получить № дня недели указанной даты.

Код со скрина здесь.
👍2
Обнаружение лиц на Python в 19 строк кода.

Сперва не забудьте установить модуль cv2 командой pip install opencv-python
Затем при помощи этой крутой библиотеки, создайте HAAR Face Cascade.
При желании, можно также воспользоваться Eye & Mouth cascades для обнаружения глаз и рта, соответственно.

Дальше конвертируем исходное изображением в чёрно белое.
И скармливаем это всё в метод detectMultiScale.

Ну и как вы знаете, cv2 шикарно работает с видео потоком.
Так что можно создать, например, распознавание своего лица на видео потоке с камеры? :3
Вариантов много )))

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

На скриншоте выше показаны основные методы объекта webbrowser.
Подробнее о нем в документации.
Код на скрине, - это язык C.
Любой питонист подумает и решит, что else относится к первому if.
Но, на самом деле - ко второму (вложенному).

Ведь в C нет крутых и удобных отступов, как в Python.
Да и в C++, впрочем, тоже.

Такие пироги 🥧
😱7
🐍 А вы знали? Выпуск №1.

В других языках такой конструкции нет, поэтому неудивительно - если для вас она выглядит слегка необычно.
👍11🔥1
PickleDB - это удобная key/value база данных для Python.
Под капотом работает на json модуле.

Установка командой pip install pickleDB

Доки здесь.
🐍 А вы знали? Выпуск №2.

Подробнее об этом модуле вы можете почитать в документации.
👍4
Интересный момент 🤔
В комментариях под последним постом, подписчики предложили вместо этого модуля использовать просто sort() со срезом.

Но, как оказалось.
Методы nlargest и nsmallest в модуле heapq работают в 3 раза быстрее, чем обычный sort со срезом.
Тест код показан на скриншоте.

Для 10 млн. рандомных чисел, sort отработал за 3 секунды.
В то время как heapq за 1 секунду.

Такие пироги 🥧
Подробнее о том, почему так происходит, вы можете почитать здесь.
Код со скрина здесь.
Чисто теоретически, - это один и тот же код.
А вы бы как написали? 🌚
👍61
🐍 А вы знали? Выпуск №3.

Подробнее о map, вы можете почитать здесь.
🔥2
Какое имя переменной из списка является НЕ верным в Python?
Anonymous Quiz
3%
N
13%
sum
32%
_______
5%
IXV3
47%
41B3
Rich - это крутая библиотека для Python, добавляющая возможность раскрашивать терминал как вам угодно.
Выводить цветной текст, делать фон, всякие рамки, таблицы, эмоджики, деревья, анимированные статусы и многое другое.

И в отличии от своих коллег, эта библиотека позволяет использовать BB разметку.
То есть, например [bold cyan]Hello, world![/bold cyan] выведет в консоль жирный текст сине-зелёного цвета.

Крч огонь 🔥🔥🔥

Доки/Примеры здесь.
Ставится командой pip install rich
👍21🔥1
Простой кейлоггер на Python.
Работает при помощи библиотеки keyboard.
При желании, репорт можно отправлять на почту или сохранять в файл каждый заданный интервал.

Исходный код здесь.
👍7
В Python 3.10 добавят оператор switch-case 🥳
Правда он будет иметь вид match-case.
А в PEP-635 уже появились рекомендации по написанию кода с новой конструкцией.

Крч огонь 🔥
Напоминаем, что релиз Python 3.10 ожидается в начале Октября этого года.
👍4
🐍 Совет по Python №2.

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