Python tricks | Хитрости Питона
5.67K subscribers
2.21K photos
26 videos
1 file
2.52K links
Здесь вы найдете лучшие практики и приёмы, которые используют опытные программисты.

Сотрудничество: @SIeep_Token

Мы на платформе: https://telegram.me/python_tricks

Ссылка на канал: https://t.me/+QayZf6ccsQllZTYy
Download Telegram
VSCode в браузере

Слабый пк? Лень скачивать IDE? Можете запустить его в браузере.

Он поддерживает почти все функции десктопного редактора, но ещё позволяет подключаться к git репозиторию и править там (если есть доступ).

Единственный недостаток — расширения. Они доступны, но с серьёзными ограничениями. Python работает, уже хорошо.

Попробовать

🔗 Python tricks
Принципы хорошего кода

KISS — старайтесь максимально упрощать код. Так, чтобы спустя пару месяцев, вы и ваши коллеги смогли всё понять.

DRY — не повторяйтесь! Перестаньте копировать один и тот же код несколько раз! Потом его будет сложно менять. А ещё, по ночам, будет мучать вопрос: «Всё ли я поменял?»

YAGNI — не делайте того, о чём вас не просят. В лучшем случае — потеряете деньги и время, в худшем — навредите проекту.

🔗 Python tricks
typer

Простая библиотека от разработчика FastAPI для создания CLI-приложений, то есть управляемых из терминала.

Библиотека позволит вам быстро создать команды для работы приложения из терминала и автоматически создаст help-меню.

🔗 Python tricks
Redis

Это in-memory база данных типа «ключ-значение». Она очень быстрая, т.к. данные хранятся в оперативной памяти.

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

Его не стоит использовать как основную БД, ведь при перезапуске компьютера все данные пропадут. Для работы с ней существует одноимённая библиотека.

🔗 Python tricks
sys.argv

В этой переменной хранятся параметры, переданные скрипту из командной строки. При вызове python3 main.py 1 2 3, sys.argv будет иметь значение ['main.py', '1', '2', '3'].

Интересно: sys.argv[0] всегда будет названием вызываемого скрипта. Если это интерпретатор, то строка будет пустой.

Правда, использовать sys.argv в серьёзных проектах глупо, т.к. есть встроенный argparse или typer от разработчиков FastAPI.

🔗 Python tricks
Режим разработчика

Этот режим включает дополнительные проверки, которые слишком требовательны, чтобы работать по умолчанию.

Например, Python проверяет, закрыл ли программист файл, обработал ли корутину (asyncio), перезаполнение буфера и т.д.

📌 Документация

🔗 Python tricks
Простая визуализация данных

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

В основном, используется для построения графиков, визуализации данных и т.д. Посмотреть пример можно введя: streamlit hello.

🔗 Python tricks
apscheduler

Библиотека для откладывания задач на потом и обработки их в фоне. Она намного лучше встроенного sched, поскольку позволяет запускать асинхронные обработчики и хранить задачи в базе данных (Redis, MongoDB).

🔗 Python tricks
Функция filter()

filter(func, iter)
— принимает функцию, возвращающую True или False, и итерируемый объект. На основе ответа функции решает, оставлять объект или нет.

filter() больше относится к функциональному программированию, многие питонисты предпочитают использовать генераторные выражения, т.к. они more Pythonic.

#теория

🔗 Python tricks
Основные коллекции: словарь

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

Ключ должен быть хешируемый объект: 1, 1.4, 'cool', (1, 2), True; и не может быть списком, множеством, словарём или любым другим изменяемым объектом. Все, у кого есть __hash__() считаются хешируемыми.

Значения могут быть любыми.

#теория

🔗 Python tricks
Media is too big
VIEW IN TELEGRAM
10 хитростей Python

Python славится простым, лаконичным и удобным синтаксисом. Но не многие знают, что в Python существует куча различных неочевидных фишек, которые могут сократить код, сделать его более простым и элегантным. И в этом ролике автор расскажет о 10 полезных фишках и хитростях языка Python, которые помогут сделать код ещё более крутым.

Смотреть это видео на youtube: youtu.be/K8mgXLycXIs

🔗 Python tricks
This media is not supported in your browser
VIEW IN TELEGRAM
tqdm

Библиотека для отображения прогресса выполнения циклов. Она может строить так называемые progress bar'ы.

tqdm поддерживает множество настроек, таких как стиль вывода, частота обновления и т.д.

🔗 Python tricks
uvicorn

Это быстрый ASGI-сервер (ASGI — интерфейс шлюза асинхронного сервера), разработанный для использования FastAPI, но не ограничиваясь этим.

Uvicorn поддерживает автоматическую генерацию OpenAPI-спецификаций и Swagger UI для веб-приложений, которые используют FastAPI.

Он также поддерживает различные опции конфигурации, такие как привязка к IP-адресу и порту, SSL/TLS-шифрование, логирование и т.д.

🔗 Python tricks
from functools import partial

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

Это полезно, если у нас объект принимает только функцию без аргументов, а нам всё таки надо в неё что-то передать.

🔗 Python tricks
Tornado

Фреймворк создан специально для большого количества долгоживущих соединений.

Установка: pip install tornado

Например, если у вас видео платформа или сайт для хранения больших файлов, то Tornado будет отличным выбором.

Но, стоит понимать, что он создан для работы с «легкими» запросами. Если у вас длительное обращение к базе данных, то это сводит преимущества Tornado на нет.

🔗 Python tricks
Парсинг сайтов Scrapy Python. (CrawlSpider) + Xpath + Сохранение в CSV.

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

• Перейти к просмотру

🔗 Python tricks
Python OpenCV библиотека

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

• Перейти к просмотру

🔗 Python tricks
Библиотеки для визуализации данных в Python

Данный видеоролик - онлайн-интенсив по визуализации данных. Если используя Pandas вы можете работать с таблицами, выводить при помощи функций максимальные и минимальные значения, работать с пропусками, то построение графиков по данным сможет сделать ваши выводы ещё более разнообразными.

• Перейти к просмотру

🔗 Python tricks
Узнаем разницу в днях между датами представленными в виде строк

В данном коде мы используем функцию strptime из модуля datetime, чтобы преобразовать строки в объекты datetime. Затем мы вычисляем разницу между датами с помощью оператора - и получаем абсолютное значение разницы с помощью функции abs. Наконец, мы получаем разницу в днях, используя атрибут days разницы объекта.

🔗 Python tricks