Библиотека задач по Python | тесты, код, задания – Telegram
Библиотека задач по Python | тесты, код, задания
6.52K subscribers
872 photos
14 videos
667 links
Задачи и тесты по Python для тренировки и обучения.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/9f7384d6

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Задача: Агент с самокоррекцией (Self-Correction)

ТЗ: Написать агента, который пишет код, запускает тесты, и если они падают — правит код.
В линейном скрипте это будет ад из if/else.

В LangGraph это изящный цикл: Generate -> Test -> (if error) -> Fix -> Test.

— управляемый поток;
state хранит историю попыток;
— безопасность (лимит итераций).

Учим кодить такие паттерны. Курс уже идёт.

Записаться на курс

Смотреть певрую лекцию
Каким будет результат выполнения кода?

👾 — 3 1
👍 — 1 3
🥰 — Error
⚡️ — Другое

Библиотека задач по Python
👾37🤔2
Что такое pickling и unpickling?

Модуль pickle принимает любой объект Python, преобразует его в строковое представление и сохраняет в файл с помощью функции dump, такой процесс называется pickling.

Процесс извлечения исходных объектов Python из сохраненного строкового представления называется unpickling.


Библиотека задач по Python
👍4
Задача: Написать агента с памятью

Обычный скрипт забывает переменные после завершения. Агент на LangGraph должен помнить контекст неделями.

Используйте MemorySaver или базу данных (Postgres/Redis) как бэкенд для графа. Граф сохраняет state после каждого шага. Это позволяет поставить агента «на паузу», ждать ввода от человека и продолжить с того же места.

Хотите научиться писать такой код?

Записаться на курс

Пример архитектуры: Смотрите вводный урок бесплатно.
Что выведет код?

👾 — 25 29
👍 — 29 35
🥰 — Error
⚡️ — None

Библиотека задач по Python
👾37🥰42
Что выведет код сверху?

👾 — 100
👍 — 25
🥰 — 50
⚡️ — Error

Библиотека задач по Python
🥰3021
Что выведет этот код?

👾 — True
👍 — False
🥰 — Error

Библиотека задач по Python
👍49🥰3👾1
Вы работаете с высоконагруженным Python-сервисом. При профилировании заметили, что использование list приводит к избыточным копированиям данных и росту потребления памяти. Какой подход будет наиболее правильным для оптимизации?

👾 — Использовать tuple вместо list, так как они быстрее и занимают меньше памяти
👍 — Применить генераторы и итераторы (yield, generator expressions), чтобы обрабатывать данные лениво
🥰 — Хранить данные в глобальной переменной, чтобы избежать повторных аллокаций
⚡️ — Переписать часть логики на Cython, чтобы ускорить операции с массивами

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍244
Задача: автоматизировать workflow с помощью LLM

Обычные скрипты работают по жёсткой логике. Агенты умеют принимать решения. На курсе мы учим писать именно таких «умных» ботов на Python.

Инструменты:

LangGraph для сложной логики;
— векторные БД для долгосрочной памяти;
AgentOps для контроля качества.

Курс стартовал, но вы успеваете. Вводная лекция доступна бесплатно — там база по архитектуре и промпт-инжинирингу.

Смотреть лекцию

Присоединиться к группе
Что гарантирует GIL в CPython?

👾 — Отсутствие гонок данных в пользовательском коде
⚡️ — Параллельное выполнение CPU-bound задач в потоках
🥰 — Единовременное выполнение байткода одним потоком интерпретатора
👍 — Что все I/O операции неблокирующие

Библиотека задач по Python
👾14🥰7
Не просто import openai, а полноценная архитектура

Задача: написать бота, который отвечает на вопросы по внутренней базе знаний компании со ссылками на источники.

Решение новичка: отправить вопрос в API.

Решение профи: GraphRAG-пайплайн с реранкингом, проверкой фактов и фильтрацией галлюцинаций.

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

Твой инструментарий:

👉 Modern Python (Pydantic v2, Type Hints);
👉 LangChain & LangGraph (Stateful Architectures);
👉 FastAPI (для сервивинга агентов).

Прокачать навыки на реальных задачах
Что возвращает a[:] для списка?

👾 — Новую (поверхностную) копию
⚡️ — Ссылку на исходный список
🥰 — Новую глубокую копию

Библиотека задач по Python
👾43
Что верно про BackgroundTasks?

👾 — Выполняются после отправки ответа в том же процессе; не переживают рестарт
👍 — Гарантированно завершатся даже при рестарте воркера
🥰 — Работают только в синхронных обработчиках
⚡️ — Запускаются в отдельном процессе multiprocessing

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍411
Почему в многопоточном Python-приложении прироста скорости для CPU-bound задач почти не видно?

👾 — Потому что интерпретатор Python не умеет распараллеливать задачи
👍 — Потому что работает Global Interpreter Lock (GIL), который позволяет исполнять байткод только одному потоку
🥰 — Потому что потокам всегда не хватает памяти для стека
⚡️ — Потому что asyncio нужно использовать вместо потоков

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍251
Что верно для Python ≥3.7 про завершение генератора и yield from?

👾 raise StopIteration(x) эквивалентен return x; yield from игнорирует значение
👍 — Явный raise StopIteration внутри генератора превращается в RuntimeError (PEP 479), а return x задаёт StopIteration.value=x; выражение yield from sub() возвращает это x
🥰 — return x приводит к RuntimeError; корректно только raise StopIteration(x)
⚡️ — yield from всегда возвращает None

Библиотека задач по Python
👍2
Что делает os.rename()?

В Python функция os.rename() используется для переименования файла или директории в операционной системе. Она входит в модуль os.

Библиотека задач по Python
😁7
Каким будет результат следующего выражения: -31 % 10?

Результатом выражения -31 % 10 будет 9. Это происходит потому, что для отрицательных чисел оператор % возвращает остаток от деления первого числа на второе немного другим образом. -31 % 10 = -3 — 1/10 и в ответ мы получим 10 — 1 = 9.

Библиотека задач по Python
🤔4
Что выведет код:
print(type({}) is set)


👾 — False
👍 —True
🥰 — None
⚡️ — Ничего

Библиотека задач по Python
👾40
Что выведет код?

👾 — {1}
👍 — {9}
🥰 — {KeyError}
👏 — {1} или {9}

Библиотека задач по Python
👏28👍8🥰1
В Python при сравнении объектов с оператором is и == есть разница. Что наиболее корректно?

👾 — is сравнивает значения объектов, а == — их идентичность в памяти
👍 — is проверяет идентичность (один и тот же объект в памяти), == — равенство значений
🥰 — Оба оператора работают одинаково, разницы нет
⚡️ — is всегда быстрее и потому используется вместо ==

Библиотека задач по Python
👍38
Вы пишете сервис на Python, который обрабатывает большой поток сетевых запросов. В профилировании видно, что приложение часто простаивает в ожидании I/O. Какой подход будет наиболее правильным для масштабирования?

👾 — Использовать threading.Thread для каждого соединения
👍 — Переписать код на asyncio или uvloop, чтобы обрабатывать соединения асинхронно
🥰 — Запускать gc.collect() после каждого запроса
⚡️ — Перейти на multiprocessing, создавая процесс на каждый запрос

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121