Библиотека задач по Python | тесты, код, задания
Відкрити в Telegram
Задачи и тесты по Python для тренировки и обучения. Учиться у нас: https://clc.to/DEwOVQ По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot
Показати більше6 337
Підписники
-324 години
-87 днів
-4730 днів
Архів дописів
Зачем использовать contextvars.ContextVar вместо threading.local в async-коде?
👾 — Потому что быстрее при тех же семантиках
👍 — Даёт изоляцию на задачу: значение «течёт» через await внутри Task, но не между задачами/потоками; threading.local изолирует только по потоку и протекает между корутинами
🥰 — Автоматически сериализует состояние между процессами
⚡️ — Разрешает безопасно менять глобальные переменные
Библиотека задач по Python
⚡️ Механизм запущен, часики тикают
Прямо сейчас кто-то уже купил курс со скидкой 40%, открыл первый урок и уже на пути к MacBook Pro 14.
А ты всё ещё читаешь этот пост...
⏰ Дедлайны не ждут:
31 октября — скидка 40% сгорает
15 ноября — розыгрыш MacBook
🎯 Правила участия:
→ купить любой курс до 31 октября
→ отучиться 2 недели
→ написать #розыгрыш куратору
🕊️ Не упусти свой шанс
Python (MCQ): Как корректно задать мутируемый дефолт в dataclass?
👾 — items: list[str] = []
👍 — items: list[str] = field(default_factory=list)
🥰 — items как tuple, а в post_init конвертировать в list
⚡️ — Общая для всех экземпляров переменная класса items = []
Библиотека задач по Python
Что даёт asyncio.TaskGroup по сравнению с gather?
👾 — Запускает задачи параллельно и скрывает исключения
👍 — При первом исключении отменяет остальные, дожидается их и выбрасывает ошибку после with
🥰 — Выполняет задачи строго последовательно
⚡️ — Требует вручную вызывать cancel() для каждой задачи при ошибке
Библиотека задач по Python
Что выведет код?
👾 — 9
👍 — [9, 1, 3]
🥰 — [3, 6]
⚡️ — Error
Библиотека задач по Python
🤔 Как ускорить браузер
Закрой все вкладки со словами «MacBook», «купить ноутбук», «ноут в рассрочку». Потому что у нас есть решение лучше.
🔥 Proglib разыгрывает MacBook Pro 14. Формула простая: покупаешь любой курс до 15 ноября → учишься 2 недели → пишешь куратору #розыгрыш
Пока у тебя открыто 147 вкладок с ценами, кто-то уже прокачивает скилы и может забрать приз.
👉🏻 Выбрать курс для участия
Как поддерживать «прибавить x на [l,r]» и «минимум на [l,r]» за O(log n)?
👾 — Префиксные суммы
👍 — Дерево Фенвика
🥰 — Сегментное дерево с ленивой пропагацией
⚡️ — Несортированная куча
Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных.
Библиотека задач по Python
Что выведет код сверху?
👾 — Ошибок нет
👍 — Деление на ноль!
🥰 — ZeroDivisionError
⚡️ — Ничего
Библиотека задач по Python
🎲 Знаешь, что хуже всего на собесе?
Когда задают простой вопрос, а ты не можешь ответить.
🤔 Это ощущение, когда понимаешь:
«Блин, я это знаю... вроде... сейчас...»От «я знаю...» до «сейчас объясню!» всего один курс. ✅ Алгоритмы и структуры данных — от Big O до задач криптографии. ✅ Python для разработчиков — пиши чистый и эффективный код. ✅ Архитектуры и шаблоны — строй системы, которые масштабируются. ✅ Основы IT — всё необходимое для входа в профессию. Выбирай любой и забирай со скидкой 40% только до конца октября. 🔗 Выбрать курс
Чем корректно отдавать большой поток данных?
👾 — Response с JSON
👍 — StreamingResponse
🥰 — FileResponse всегда загружает весь файл в память
⚡️ — HTMLResponse
Библиотека задач по Python
Что означает RPO?
👾 — Максимально допустимая длительность простоя
👍 — Цель по времени восстановления сервиса
🥰 — Максимально допустимая потеря данных во времени
⚡️ — Среднее время до отказа
Библиотека задач по Python
🔎 Собес сам себя не пройдет
Ты готов к собеседованию? А если проверю?
Залетай к нам и забирай курсы со скидкой 40%. Только до конца октября можно узнать много нового и отточить навыки.
🎯 Забирай курсы:
🐍 python для разработчиков;
🧮 алгоритмы и структуры данных;
📝 архитектуры и шаблоны проектирования;
🧩 основы IT для новичков.
⚡️ Не упусти скидку и получи долгожданный оффер!
Что делает функция sample?
Функция sample() позволяет выбрать случайным образом элементы из последовательности или коллекции.
Это удобно при необходимости получить случайную выборку из данных.
Функция принимает два основных аргумента:
population — последовательность, из которой надо выбрать элементы (list, tuple, string и т. д.)
k — количество элементов для выборки.
Дополнительные аргументы:
counts — список весов элементов (по умолчанию равновероятный выбор).
rng — генератор случайных чисел (по умолчанию берется из модуля random).
Библиотека задач по Python
Что выведет код:
print(type({}) is set)
👾 — False
👍 —True
🥰 — None
⚡️ — Ничего
Библиотека задач по Python
🚫👩💻 🚫 Как не нужно писать на Python
Приглашаем на открытый урок.
🗓 27 октября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Python Developer. Professional».
Даже опытные разработчики порой создают код, который работает — но жить с ним потом невозможно. На открытом уроке разберём типичные ошибки и антипаттерны в Python, поговорим о причинах появления «плохого» кода и способах сделать его понятнее, стабильнее и быстрее. Рассмотрим как распространённые, так и неожиданные примеры, которые помогут взглянуть на привычные решения под новым углом.
На вебинаре разберём:
✔ Основные антипаттерны и неудачные практики в Python-разработке
✔ Почему появляются «плохие» решения и как их вовремя распознать
✔ Подходы и инструменты, которые помогают улучшить качество кода
В результате вебинара вы:
✔Поймёте, чего стоит избегать при написании кода на Python
✔Научитесь видеть и исправлять проблемные участки в своих проектах
✔Узнаете, как писать читаемый, поддерживаемый и эффективный код
🔗 Ссылка на регистрацию: https://clc.to/MnoMNg
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Что значит *args, **kwargs? И зачем нам их использовать?
Мы используем *args, когда неуверены, сколько аргументов будет передано функции, или если хотим передать сохраненный список или кортеж аргументов функции.
**kwargs используется, когда мы не знаем, сколько аргументов ключевых слов будет передано, а также он может быть использован для передачи значений словаря в качестве аргументов ключевых слов. Идентификаторы args и kwargs необязательны, вы можете изменить их на другие, типа *другой **пример, но лучше использовать имя по умолчанию.
Библиотека задач по Python
🧠 Курс «Математика для Data Science»
Математика лежит под капотом не только алгоритмов, но и всего, что мы создаём — от систем рекомендаций до маршрутизации такси.
Но главное, математика понятна, если объяснить её на языке разработки.
📘 Курс «Математика для Data Science»:
— от основ до реальных задач из собесов;
— линейная алгебра, статистика, теория вероятностей;
— визуализации, практика и живые уроки;
— поддержка менторов и комьюнити в чате.
⚡ Сегодня последний день, чтобы получить подарок: курс по базовой математике!
🗓️ Старт курса → 6 ноября
👉 Записаться на курс
Вы обрабатываете большие массивы числовых данных в Python, и профилирование показывает, что большинство времени тратится на циклы for со встроенными типами. Какой подход наиболее правильный для оптимизации?
👾 — Разбить массивы на списки поменьше и обрабатывать их по частям
👍 — Использовать специализированные библиотеки (например, NumPy), которые выполняют векторные операции вне GIL
🥰 — Переписать цикл на вложенные list comprehension
⚡️ — Принудительно запускать gc.collect() после каждой итерации
Библиотека задач по Python
🧠 Математика — движок всего, что мы пишем
Без неё не было бы сортировок, шифрования, графов и даже того самого if с вероятностью успеха в A/B-тесте.
Но главное, математика понятна, если объяснить её на языке разработки.
📘 Курс «Математика для Data Science»:
— от основ до реальных задач из собесов;
— линейная алгебра, статистика, теория вероятностей;
— визуализации, практика и живые уроки;
— поддержка менторов и комьюнити в чате.
🎓 За 2 месяца вы перестанете просто использовать библиотеки и начнёте понимать, как они работают.
🗓️ Старт → 6 ноября
👉 Записаться на курс
В чем разница между списками и массивами?
Примечание: в стандартной библиотеке Python есть объект array, но здесь мы специально будем обсуждать массив из популярной библиотеки Numpy.
Списки в каждом индексе можно заполнять разными типами данных. Массивы требуют однородных элементов.
Арифметические действия в списках добавляют или удаляют элементы из списка. Арифметические действия на массивах соответствуют функциям линейной алгебры.
Массивы используют меньше памяти и обладают значительно большей функциональностью.
Библиотека задач по Python
