Разъяснивший Python
8.18K subscribers
2.43K photos
40 videos
30 files
2.28K links
Твой проводник в омут Python'а

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: https://telega.in/c/python_pssss
Download Telegram
Интерфейс командной строки

Самостоятельный парсинг аргументов даже с argparse вызывает трудности. Чтобы их избежать, стоит установить typer.

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

Это — интуинтивно понятный модуль для создания FAST API интерфейсов командой строки. Проще говоря, вы сможете создавать команды по типу git branch -b main.

Библиотека сама создаст usage и --help сообщения на основе документации используемых функций или переданных аргументов.

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

#lesson
👍121
multiprocessing

Это встроенная библиотека для создания параллельных процессов, которая обеспечивает локальное и удаленное выполнение параллельных задач.

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

#lesson
👍15😁2
Магические методы

Это те, что зарезервированы Python для своих целей и определяются так: __method_name__(). Переопределяя их мы можем менять поведение приложения.

К примеру, отредактировав __add__(), можем сказать как класс будет реагировать при складывании значений.

Большую часть этих методов и за что они отвечают можно найти в operator.

#lesson
👍8❤‍🔥4
pickle

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

У pickle есть серьёзный недостаток: он небезопасен. Если есть возможность, лучше использовать другой формат: JSON, например. Сравнение JSON с pickle.

#lesson
👍8
Особенность math — почти все его функции возвращают float

Например, если сравнивать math.pow(), встроенный pow() и x ** 2, то первая функция всегда вернёт тип float, в то время как две другие, по возможности, вернут int.

#lesson
👍132
apscheduler

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

#lesson
👍10