tgindex
G

Ghostly Python

описание

Погружаемся в мир Python: задачи, фишки, библиотеки и террабайты полезного материала. Сотрудничество: @heywan_n1 менеджер: @shmyzna Цены: @heywan_media Реклама на бирже: https://telega.in/c/+IOa15XDNbxRkYzNi

8 373
подписчиков

Лучшие посты

за три месяца
  • 30 мая2 854 просмотров9 реакций16 пересылок

    «Вайб-кодинг» — слово года по версии словаря Collins (на сленге - безработный 🙂) 🐍 Ghostly Python | #мем

  • 23 мая2 850 просмотров1 реакций21 пересылок

    📱 Фишка: asyncio.Semaphore — контроль одновременных корутин Semaphore ограничивает количество корутин, которые могут выполнять определённый блок кода одновременно. Полезно для защиты API от превышения лимитов или для ограничения нагрузки на базу данных. import asyncio class ApiClient: def __init__(self, max_concurrent=3): self._semaphore = asyncio.Semaphore(max_concurrent) async def fetch(self, url): async with self._semaphore: print(f"Начало запроса к {url}") await asyncio.sleep(1) # имитация сетевого вызова print(f"Завершён: {url}") return {"data": url} async def main(): client = ApiClient(max_concurrent=2) # максимум 2 запроса одновременно urls = ["/api/1", "/api/2", "/api/3", "/api/4"] tasks = [client.fetch(url) for url in urls] results = await asyncio.gather(*tasks) print(f"Получено {len(results)} результатов") asyncio.run(main()) 📌 Как это работает? — При входе в async with счётчик семафора уменьшается на 1. — Если счётчик 0, корутина ждёт, пока кто-то не выйдет (счётчик не увеличится). — При выходе из блока счётчик снова увеличивается. 🐍 Ghostly Python | #фишки

  • 5 июн.2 652 просмотров6 реакций40 пересылок

    🖼️ Библиотека 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 | #библиотеки

  • 19 июн.2 352 просмотров1 реакций21 пересылок

    📱 Фишка: 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 | #фишки

  • 12 июн.2 319 просмотров1 реакций14 пересылок

    👩‍💻 Автоматизация отдела продаж в Bitrix24 Автор статьи максимально рассказал об автоматизации продаж и квалифицировании лидов в битрикс. ➡️ Ссылка на статью 🐍 Ghostly Python | #статьи

  • 27 июн.2 213 просмотров16 пересылок

    🔲 Захватывающая драма 21 века На всякий случай: yt-dlp --download-sections "*start_time-end_time" <video_url> 🐍 Ghostly Python | #мем

  • 27 июн.2 154 просмотров11 реакций16 пересылок

    без подписи

  • 26 июл.1 370 просмотров4 реакций15 пересылок

    📱 Фишка: 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 | #фишки

  • 3 авг.1 055 просмотров5 реакций1 пересылок

    Открыли регистрацию на E-CUP 2026 Students 🎓 В этом сезоне — только для студентов. Будет интересно тем, кто изучает ML / DS / big data / аналитику данных. Сможете ускорить модель по поиску дубликатов на 20%? Получится создать классификатор для модерации товаров? Сумеете предсказать поведение покупателя? Как минимум — попробуете и получите фидбэк от тех, кто делает это в Ozon Tech каждый день. Как максимум — разделите призовой фонд в 7 200 000 ₽ в торжественной атмосфере конференции E-CODE. Нетривиальные задачи, нетворк с ведущими специалистами индустрии, кастомный мерч и шанс масштабно усилить портфолио — это про E-CUP 2026 Students. Больше подробностей и регистрация ↩️

  • 3 авг.972 просмотров7 реакций

    ㅤ Страх. Гнев. Стыд. Вина. Тревога. Апатия. Уныние. Изоляция. Бессилие. Контакт. Тепло. Чувство. Живость. Ясность. Точность. Присутствие. Тишина. Покой. Если выбор сделан, твоё место здесь: мэверик Входи осторожно. Кислород зашкаливает. ㅤ

  • 13 авг.651 просмотров6 реакций11 пересылок

    💯 Одна из самых полезных библиотек Python - hybridmethod. Hybridmethod — это легкий декоратор, который упрощает использование синхронных и асинхронных методов в одном классе. Он позволяет объявлять метод, который может быть вызван как в обычном, так и в asyns-контексте, исключая дублирование кода. ➕ Плюсы использования: 🔹Поддерживает Python 3.x (версия 1.0.1). 🔹Имеет минимум зависимостей. 🔹 Идеально подходит для проектов, где требуется единый API для синхронного и асинхронного кода. 🔗Ссылка 🐍 Ghostly Python | #статья