Библиотека задач по Python | тесты, код, задания
6.56K subscribers
844 photos
14 videos
600 links
Задачи и тесты по Python для тренировки и обучения.

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Что будет у functools.lru_cache, если аргумент не хешируемый (например, list)?

👾 — Автоматически скопирует и захеширует любой аргумент
👍 — Построит ключ из args/kwargs; при нехешируемом аргументе бросит TypeError на вызове
🥰 — Нехешируемые аргументы игнорируются при ключе
⚡️ — Учитывает только позиционные аргументы, kwargs игнорируются

Библиотека задач по Python
👍9
В чем разница между модулем и пакетом в Python?

Каждый файл программы на Python является модулем, который может импортировать другие модули в виде объектов. Таким образом, модуль служит способом организации вашей программы. Папка, содержащая программу на Python, называется пакетом модулей.

Библиотека задач по Python
👍2
Новый челлендж: Agentic Workflow

Писать обычный код — это скучно. Писать код, который думает — это новый уровень.
Proglib Academy запускает углубленный курс по AI-агентам.

Почему стоит идти:

1. Актуальность: LangGraph, CrewAI, MCP — это топ технологии 2026 года.
2. Практика: 13 модулей, домашние задания с Code Review.
3. Портфолио: Ты сделаешь своего агента и защитишь его перед экспертами.

Для тех, кто готов кодить по-взрослому — выбирайте Продвинутый трек.

Старт скоро
В Python-сервисе нужно обрабатывать большое количество CPU-bound задач (например, шифрование или обработку изображений). Вы используете ThreadPoolExecutor, но прироста производительности почти нет. Какой подход будет правильным?

👾 — Увеличить количество потоков в пуле до числа ядер × 10
👍 — Использовать ProcessPoolExecutor или multiprocessing, чтобы обойти GIL
🥰 — Переписать задачи на asyncio, чтобы они выполнялись конкурентно
⚡️ — Вставить вызовы gc.collect() внутри цикла, чтобы ускорить потоки

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

👾 — Увеличить количество потоков в ThreadPoolExecutor
👍 — Перейти на asyncio/uvloop и использовать асинхронные драйверы для работы с I/O
🥰 — Запускать каждый запрос в отдельном процессе через multiprocessing
⚡️ — Чаще вызывать gc.collect() для освобождения памяти

Библиотека задач по Python
👍13
Что выведет код сверху?

👾 — 9
👍 — 6
🥰 — 4
🤔 — Error

Библиотека задач по Python
🥰21👍101🤔1
Что выведет код сверху?

👾 — NaN
👍 — Exception
🥰 — ZeroDivisionError
⚡️ — SyntaxError

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰38
Что произойдёт при следующем выражении: a = [1, 2, 3]; b = a; a += [4]?

👾 — a и b будут разными списками
👍 — a будет содержать [1, 2, 3], b — [1, 2, 3, 4]
🥰 — a и b будут ссылаться на один и тот же список: [1, 2, 3, 4]
⚡️ — b станет None

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰27
Что выведет код?

👾 — True
👍 — False
🥰 — Error

Библиотека задач по Python
👍34🥰3👾2
WANTED: PYTHON-ЗАДАЧНИК

Обвиняется в написании слишком чистого кода и любви к сложным алгоритмическим тестам. Мы ищем того, кто создаст золотой стандарт проверки знаний для Python-разработчиков.

Приметы:

— является профи в Python (понимает логику Go или Java);
— умеет придумывать нетривиальные задачи на логику и синтаксис;
— готов делиться экспертизой с большой аудиторией;
— хочет получать честный гонорар за свой опыт.

Твоя награда:

— официальный статус эксперта Proglib Academy;
— быстрое развитие личного бренда;
— участие в крупных образовательных проектах.

Сдаться властям

P.S. Твой коллега пишет безупречные скрипты? Пора его сдать нам.
Что выведет код?

👾 — []
👍 — [2]
🥰 — Error
⚡️ — Другое

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾29🥰3👍2
Какое из следующих утверждений верно?

👾 — Неприватный метод в суперклассе может быть переопределен
👍 — Метод подкласса может быть переопределен суперклассом
🥰 — Приватный метод в суперклассе может быть переопределен
⚡️ — Переопределение невозможно в Python

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👾122🥰1
Зачем нужен textwrap.dedent()?

Метод textwrap.dedent() в Python удаляет общие отступы из многострочного текста. Это особенно полезно для упрощения форматирования строк, например, в документации или при работе с большими текстовыми блоками.

Библиотека задач по Python
👍4
✍🏻 Что такое wheel и eggs в Python? Какая между ними разница?

Python wheel
— это стандартный формат установки дистрибутивов Python, который содержит все файлы и метаданные, необходимые для установки. Файл WHL также содержит информацию о версиях и платформах Python, поддерживаемых этим файлом. Расширение файла wheel — .whl

Python egg — это сжатый архив ZIP, содержащий исходные файлы приложения Python вместе с метаинформацией о дистрибутиве. Расширение файла egg — .egg

Основная разница заключается в том, что wheel предоставляет более простой и надежный способ установки пакетов. В отличие от eggs, он не требует установки дополнительных зависимостей и обеспечивает более быстрое время установки. Кроме того, wheel поддерживает все платформы, на которых может работать Python.


Библиотека задач по Python
Почему Flask называют микрофреймворком?

Flask называют «микро», поскольку его основной набор функций относительно ограничен: маршрутизация, обработка запросов и модули разработки — вот и всё, что есть в нём. Многие возможности, такие как ORM, кэширование и аутентификация, были доступны в качестве дополнительных расширений, но конкурирующие фреймворки (например, Django) включали их по умолчанию. Архитектура «небольшое ядро + расширения» делает его «микро-» фреймворком, с которым гораздо проще начать работать и масштабировать.

Библиотека задач по Python
1
Друзья, с наступающим Новым годом! 🎄
Пусть в 2026 собеседования проходят спокойнее и предсказуемее: вопросы — по делу, задачи — решаемые, а фидбек — быстрый и честный. Пусть будет больше приятных разговоров, больше «да» по итогам встреч и больше поводов гордиться собой.

Тепла, здоровья и карьерных побед — с праздником! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
🤩53👍2
В каких ситуациях возникает исключение NotImplementedError?

Исключение NotImplementedError возникает, когда метод или функция должны быть реализованы в подклассе, но не были реализованы. Это может произойти, когда родительский класс определяет метод, но не реализует его сам, а оставляет это для подклассов. В этом случае, если подкласс не реализует метод, он будет вызывать исключение NotImplementedError. Это может быть полезно для отладки, чтобы убедиться, что все необходимые методы реализованы в подклассах. Это также может возникнуть в других ситуациях, например, если вы пытаетесь использовать неопределенную функцию или метод.

Библиотека задач по Python
👍5
Вы обрабатываете большие массивы числовых данных в Python, и профилирование показывает, что большинство времени тратится на циклы for со встроенными типами. Какой подход наиболее правильный для оптимизации?

👾 — Разбить массивы на списки поменьше и обрабатывать их по частям
👍 — Использовать специализированные библиотеки (например, NumPy), которые выполняют векторные операции вне GIL
🥰 — Переписать цикл на вложенные list comprehension
⚡️ — Принудительно запускать gc.collect() после каждой итерации

Библиотека задач по Python
👍22
В продакшн-сервисе на Python при росте нагрузки CPU-bound задачи (например, обработка изображений) выполняются значительно медленнее, хотя вы используете ThreadPoolExecutor. Почему так происходит и что правильнее сделать?

👾 — В Python потоки работают медленно, лучше перейти на asyncio
👍 — Из-за GIL потоки не дают прироста для CPU-bound задач, лучше использовать ProcessPoolExecutor или multiprocessing
🥰 — Нужно увеличить количество потоков в пуле, чтобы загрузить CPU на 100%
⚡️ — Проблема в сборщике мусора, надо чаще вызывать gc.collect()

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
У вас есть сервис на Python, который должен параллельно обрабатывать CPU-bound задачи (например, шифрование файлов). Какой из подходов обеспечит реальный прирост производительности?

👾 — Использовать threading.Thread для распараллеливания задач
👍 — Применить asyncio и await для конкурентного выполнения
🥰 — Использовать multiprocessing или ProcessPoolExecutor
⚡️ — Запускать задачи в concurrent.futures.ThreadPoolExecutor

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