Ghostly Python
8.28K subscribers
552 photos
24 videos
622 links
Погружаемся в мир Python: задачи, фишки, библиотеки и террабайты полезного материала.

Сотрудничество: @heywan_n1
менеджер: @shmyzna

Цены: @heywan_media

Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi
Download Telegram
«Вайб-кодинг» — слово года по версии словаря Collins

(на сленге - безработный 🙂)

🐍 Ghostly Python | #мем
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥51👍1😁1🤣1
🖼️ Библиотека tenacity — умные повторные попытки для ненадёжного кода

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

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

from tenacity import retry, stop_after_attempt
import requests

# Повторить 3 раза при любой ошибке
@retry(stop=stop_after_attempt(3))
def get_data():
return requests.get("https://api.example.com/data").json()

# Использование
data = get_data() # если упадёт — автоматически повторит до 3 раз


✔️ Установка:

pip install tenacity

🐍 Ghostly Python | #библиотеки
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
👩‍💻 Автоматизация отдела продаж в Bitrix24

Автор статьи максимально рассказал об автоматизации продаж и квалифицировании лидов в битрикс.

➡️ Ссылка на статью

🐍 Ghostly Python | #статьи
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
📱 Фишка: asyncio.TaskGroup — надёжное управление группами задач

TaskGroup автоматически следит за всеми запущенными в нём задачами. Если любая задача падает с ошибкой — отменяются все остальные, и вы точно ничего не пропустите. Удобнее и безопаснее, чем ручной gather/wait.

import asyncio

async def worker(name, delay):
print(f"Задача {name} стартует")
await asyncio.sleep(delay)
if name == "fail":
raise ValueError("Ошибка в задаче!")
print(f"Задача {name} завершена")
return f"Результат {name}"

async def main():
try:
async with asyncio.TaskGroup() as tg:
task1 = tg.create_task(worker("A", 1))
task2 = tg.create_task(worker("B", 2))
task3 = tg.create_task(worker("fail", 0.5))
task4 = tg.create_task(worker("C", 1.5))
# сюда мы попадём, только если все задачи успешны
print("Все задачи завершены без ошибок")
except Exception as e:
print(f"Перехвачено исключение: {e}")
# все незавершённые задачи уже отменены автоматически

asyncio.run(main())


📌 Как это работает?

— При входе в async with создаётся группа задач.
— Как только одна задача вызывает исключение — группа немедленно отменяет все остальные.
— После выхода из блока можно быть уверенным: либо все задачи выполнились успешно, либо ни одна «незакрытая» ошибка не осталась незамеченной.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
🔲 Захватывающая драма 21 века

На всякий случай:

yt-dlp --download-sections "*start_time-end_time"
<video_url>


🐍 Ghostly Python | #мем
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6👍42
📱 Фишка: collections.deque — двусторонняя очередь с быстрой вставкой и удалением

deque (двусторонняя очередь) из модуля collections — это более эффективная альтернатива спискам, когда часто требуется вставка или удаление с начала и конца.

from collections import deque

# Создаём deque
queue = deque(["Алиса", "Боб", "Чарли"])

# Добавляем в конец и в начало
queue.append("Дэвид")
queue.appendleft("Эва")
print(queue) # ➔ deque(['Эва', 'Алиса', 'Боб', 'Чарли', 'Дэвид'])

# Удаляем с конца и начала
queue.pop() # ➔ 'Дэвид'
queue.popleft() # ➔ 'Эва'
print(queue) # ➔ deque(['Алиса', 'Боб', 'Чарли'])


📌 Как это работает?

🟢 deque оптимизирован для операций .append(), .appendleft(), .pop() и .popleft() — все выполняются за O(1), в отличие от обычного списка.
🟢 Можно ограничить длину (maxlen=N) — полезно для реализации кольцевых буферов.

🐍 Ghostly Python | #фишки
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥4

Страх.
Гнев.
Стыд.
Вина.
Тревога.
Апатия.
Уныние.
Изоляция.
Бессилие.

Контакт.
Тепло.
Чувство.
Живость.
Ясность.
Точность.
Присутствие.
Тишина.

Покой.

Если выбор сделан,
твоё место здесь:

мэверик

Входи осторожно.

Кислород
зашкаливает.
🤮8
Открыли регистрацию на E-CUP 2026 Students 🎓

В этом сезоне — только для студентов. Будет интересно тем, кто изучает ML / DS / big data / аналитику данных.

Сможете ускорить модель по поиску дубликатов на 20%? Получится создать классификатор для модерации товаров? Сумеете предсказать поведение покупателя?

Как минимум — попробуете и получите фидбэк от тех, кто делает это в Ozon Tech каждый день. Как максимум — разделите призовой фонд в 7 200 000 ₽ в торжественной атмосфере конференции E-CODE.

Нетривиальные задачи, нетворк с ведущими специалистами индустрии, кастомный мерч и шанс масштабно усилить портфолио — это про E-CUP 2026 Students.
Больше подробностей и регистрация ↩️
🔥32
💯 Одна из самых полезных библиотек Python - hybridmethod.

Hybridmethod — это легкий декоратор, который упрощает использование синхронных и асинхронных методов в одном классе.

Он позволяет объявлять метод, который может быть вызван как в обычном, так и в asyns-контексте, исключая дублирование кода.

Плюсы использования:

🔹Поддерживает Python 3.x (версия 1.0.1).

🔹Имеет минимум зависимостей.

🔹 Идеально подходит для проектов, где требуется единый API для синхронного и асинхронного кода.

🔗Ссылка

🐍 Ghostly Python | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍3🔥1
ТЗ: УПОРЯДОЧИВАНИЕ ХАОСА СИСТЕМ.

Входные данные: неизвестны.
Требования: отсутствуют.
Среда исполнения: нестабильна.


Начать проектирование?
YES / YES
🔥1