Библиотека задач по Python | тесты, код, задания
6.62K subscribers
826 photos
13 videos
531 links
Задачи и тесты по Python для тренировки и обучения.

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

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

Для обратной связи: @proglibrary_feeedback_bot
Download Telegram
Вы обрабатываете большие массивы числовых данных в Python, и профилирование показывает, что большинство времени тратится на циклы for со встроенными типами. Какой подход наиболее правильный для оптимизации?

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

Библиотека задач по Python
👍20
🧠 Курс «Математика для Data Science»

Математика лежит под капотом не только алгоритмов, но и всего, что мы создаём — от систем рекомендаций до маршрутизации такси.

Но главное, математика понятна, если объяснить её на языке разработки.

📘 Курс «Математика для Data Science»:

— от основ до реальных задач из собесов;
— линейная алгебра, статистика, теория вероятностей;
— визуализации, практика и живые уроки;
— поддержка менторов и комьюнити в чате.

Сегодня последний день, чтобы получить подарок: курс по базовой математике!

🗓️ Старт курса → 6 ноября

👉 Записаться на курс
👍2
Что значит *args, **kwargs? И зачем нам их использовать?

Мы используем *args, когда неуверены, сколько аргументов будет передано функции, или если хотим передать сохраненный список или кортеж аргументов функции.

**kwargs используется, когда мы не знаем, сколько аргументов ключевых слов будет передано, а также он может быть использован для передачи значений словаря в качестве аргументов ключевых слов. Идентификаторы args и kwargs необязательны, вы можете изменить их на другие, типа *другой **пример, но лучше использовать имя по умолчанию.


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


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

Библиотека задач по Python
👾31👍2
Что делает функция sample?

Функция sample() позволяет выбрать случайным образом элементы из последовательности или коллекции.

Это удобно при необходимости получить случайную выборку из данных.

Функция принимает два основных аргумента:
population — последовательность, из которой надо выбрать элементы (list, tuple, string и т. д.)
k — количество элементов для выборки.

Дополнительные аргументы:

counts — список весов элементов (по умолчанию равновероятный выбор).
rng — генератор случайных чисел (по умолчанию берется из модуля random).


Библиотека задач по Python
2👍1
🔎 Собес сам себя не пройдет

Ты готов к собеседованию? А если проверю?

Залетай к нам и забирай курсы со скидкой 40%. Только до конца октября можно узнать много нового и отточить навыки.

🎯 Забирай курсы:

🐍 python для разработчиков;
🧮 алгоритмы и структуры данных;
📝 архитектуры и шаблоны проектирования;
🧩 основы IT для новичков.

Не упусти скидку и получи долгожданный оффер!
👍1
Что означает RPO?

👾 — Максимально допустимая длительность простоя
👍 — Цель по времени восстановления сервиса
🥰 — Максимально допустимая потеря данных во времени
⚡️ — Среднее время до отказа

Библиотека задач по Python
👍2
Чем корректно отдавать большой поток данных?

👾 — Response с JSON
👍 — StreamingResponse
🥰 — FileResponse всегда загружает весь файл в память
⚡️ — HTMLResponse

Библиотека задач по Python
👍11👾2
🎲 Знаешь, что хуже всего на собесе?

Когда задают простой вопрос, а ты не можешь ответить.

🤔 Это ощущение, когда понимаешь:
«Блин, я это знаю... вроде... сейчас...»


От «я знаю...» до «сейчас объясню!» всего один курс.

Алгоритмы и структуры данных — от Big O до задач криптографии.

Python для разработчиков — пиши чистый и эффективный код.

Архитектуры и шаблоны — строй системы, которые масштабируются.

Основы IT — всё необходимое для входа в профессию.

Выбирай любой и забирай со скидкой 40% только до конца октября.

🔗 Выбрать курс
Что выведет код сверху?

👾 — Ошибок нет
👍 — Деление на ноль!
🥰 — ZeroDivisionError
⚡️ — Ничего

Библиотека задач по Python
👍48🥰1👾1
Как поддерживать «прибавить x на [l,r]» и «минимум на [l,r]» за O(log n)?

👾 — Префиксные суммы
👍 — Дерево Фенвика
🥰 — Сегментное дерево с ленивой пропагацией
⚡️ — Несортированная куча

Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных.

Библиотека задач по Python
👍3🥰1
🤔 Как ускорить браузер

Закрой все вкладки со словами «MacBook», «купить ноутбук», «ноут в рассрочку». Потому что у нас есть решение лучше.

🔥 Proglib разыгрывает MacBook Pro 14. Формула простая: покупаешь любой курс до 15 ноября → учишься 2 недели → пишешь куратору #розыгрыш

Пока у тебя открыто 147 вкладок с ценами, кто-то уже прокачивает скилы и может забрать приз.

👉🏻 Выбрать курс для участия
Что выведет код?

👾 — 9
👍 — [9, 1, 3]
🥰 — [3, 6]
⚡️ — Error

Библиотека задач по Python
Please open Telegram to view this post
VIEW IN TELEGRAM
👍36
Что даёт asyncio.TaskGroup по сравнению с gather?

👾 — Запускает задачи параллельно и скрывает исключения
👍 — При первом исключении отменяет остальные, дожидается их и выбрасывает ошибку после with
🥰 — Выполняет задачи строго последовательно
⚡️ — Требует вручную вызывать cancel() для каждой задачи при ошибке

Библиотека задач по Python
👍4
Как корректно задать мутируемый дефолт в dataclass?

👾 — items: list[str] = []
👍 — items: list[str] = field(default_factory=list)
🥰 — items как tuple, а в post_init конвертировать в list
⚡️ — Общая для всех экземпляров переменная класса items = []

Библиотека задач по Python
👍7
⚡️ Механизм запущен, часики тикают

Прямо сейчас кто-то уже купил курс со скидкой 40%, открыл первый урок и уже на пути к MacBook Pro 14.

А ты всё ещё читаешь этот пост...

Дедлайны не ждут:

31 октября — скидка 40% сгорает
15 ноября — розыгрыш MacBook

🎯 Правила участия:

→ купить любой курс до 31 октября
→ отучиться 2 недели
→ написать #розыгрыш куратору

🕊️ Не упусти свой шанс
Зачем использовать contextvars.ContextVar вместо threading.local в async-коде?

👾 — Потому что быстрее при тех же семантиках
👍 — Даёт изоляцию на задачу: значение «течёт» через await внутри Task, но не между задачами/потоками; threading.local изолирует только по потоку и протекает между корутинами
🥰 — Автоматически сериализует состояние между процессами
⚡️ — Разрешает безопасно менять глобальные переменные

Библиотека задач по Python
👍4
Что делает __slots__ в классе?

👾 — Делает экземпляры неизменяемыми и хешируемыми
👍 — Убирает dict у экземпляров и запрещает произвольные атрибуты, оставляя только перечисленные слоты (меньше памяти)
🥰 — Превращает класс в dataclass
⚡️ — Включает GIL-оптимизации для всех операций

Библиотека задач по Python
👍9