ar
Feedback

لا تقع ضحية للمخادعين! تيليمتريو يكتشف ويُميّز هذه القنوات 👉 إذا كنت تريد رؤية العلامة، اشترك

Библиотека задач по Python | тесты, код, задания

Библиотека задач по Python | тесты, код, задания

الذهاب إلى القناة على Telegram

Задачи и тесты по Python для тренировки и обучения. Учиться у нас: https://clc.to/DEwOVQ По рекламе: @tproger_sales_bot Для обратной связи: @proglibrary_feeedback_bot

إظهار المزيد
6 341
المشتركون
+424 ساعات
-67 أيام
-4630 أيام
جذب المشتركين
أكتوبر '26
أكتوبر '26
+35
في 4 قنوات
سبتمبر '26
+47
في 0 قنوات
Get PRO
أغسطس '26
+35
في 2 قنوات
Get PRO
يوليو '26
+52
في 7 قنوات
Get PRO
يونيو '26
+75
في 4 قنوات
Get PRO
مايو '26
+68
في 5 قنوات
Get PRO
أبريل '26
+85
في 4 قنوات
Get PRO
مارس '26
+136
في 2 قنوات
Get PRO
فبراير '26
+91
في 1 قنوات
Get PRO
يناير '26
+96
في 1 قنوات
Get PRO
ديسمبر '25
+96
في 3 قنوات
Get PRO
نوفمبر '25
+101
في 6 قنوات
Get PRO
أكتوبر '25
+92
في 1 قنوات
Get PRO
سبتمبر '25
+64
في 0 قنوات
Get PRO
أغسطس '25
+108
في 2 قنوات
Get PRO
يوليو '25
+108
في 2 قنوات
Get PRO
يونيو '25
+109
في 3 قنوات
Get PRO
مايو '25
+110
في 1 قنوات
Get PRO
أبريل '25
+174
في 1 قنوات
Get PRO
مارس '25
+222
في 52 قنوات
Get PRO
فبراير '25
+273
في 32 قنوات
Get PRO
يناير '25
+352
في 36 قنوات
Get PRO
ديسمبر '24
+310
في 36 قنوات
Get PRO
نوفمبر '24
+378
في 38 قنوات
Get PRO
أكتوبر '24
+382
في 36 قنوات
Get PRO
سبتمبر '24
+338
في 36 قنوات
Get PRO
أغسطس '24
+386
في 36 قنوات
Get PRO
يوليو '24
+380
في 35 قنوات
Get PRO
يونيو '24
+279
في 31 قنوات
Get PRO
مايو '24
+321
في 35 قنوات
Get PRO
أبريل '24
+386
في 35 قنوات
Get PRO
مارس '24
+439
في 30 قنوات
Get PRO
فبراير '24
+399
في 29 قنوات
Get PRO
يناير '24
+534
في 24 قنوات
Get PRO
ديسمبر '23
+2 858
في 25 قنوات
التاريخ
نمو المشتركين
الإشارات
القنوات
26 أكتوبر+4
25 أكتوبر0
24 أكتوبر0
23 أكتوبر+2
22 أكتوبر+2
21 أكتوبر0
20 أكتوبر+1
19 أكتوبر+3
18 أكتوبر+1
17 أكتوبر+1
16 أكتوبر+3
15 أكتوبر0
14 أكتوبر+1
13 أكتوبر+2
12 أكتوبر+9
11 أكتوبر+1
10 أكتوبر0
09 أكتوبر+3
08 أكتوبر0
07 أكتوبر0
06 أكتوبر0
05 أكتوبر0
04 أكتوبر0
03 أكتوبر0
02 أكتوبر0
01 أكتوبر+2
منشورات القناة
❓ Может ли finally изменить возвращаемый список? Python 3.13. Что выведет код?
def build():
    result = [1]
    try:
        return result
    finally:
        result.append(2)

print(build())
👾 — [1] 👍 — None 🥰 — [1, 2] ⚡️ — Ошибка: после return код не выполняется Ответ: 🥰 — [1, 2]. return выбирает объект, который нужно вернуть, но до фактического выхода из функции выполняется finally. Он изменяет тот же список, поэтому вызывающий код получает [1, 2]. Нового списка здесь не создаётся, и значение return не заменяется. Правило в документации Python 🐸 Библиотека задач по Python

2
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один кур
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок. Например, можно совместить два направления по работе с ИИ: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. 📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета. А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога. Акция действует до 31 октября включительно ⏳ ⏮️ Пора прокачать свой стек
201
3
❓ Сработает ли match, если в словаре есть лишние ключи? Python 3.13. Что выведет код? payload = {"kind": "ping", "debug": True} match payload: case {"kind": kind}: print(kind) case _: print("no match") 👾 — no match 👍 — ping 🥰 — Ошибка из-за ключа debug ⚡️ — Ошибка: kind должен быть объявлен заранее Ответ: 👍 — ping. Шаблон словаря требует наличия указанных ключей, но не запрещает дополнительные. Ключ kind найден, а его значение связывается с переменной kind. Ключ debug совпадению не мешает. Чтобы собрать остальные пары, можно добавить в шаблон захват остатка словаря. Правило в документации Python 🐸 Библиотека задач по Python
204
4
❓ Когда генератор выбирает источник, а когда проверяет условие? Python 3.13. Что выведет код? source = [1, 2, 3] limit = 1 selected = (x for x in source if x > limit) source = [9] limit = 2 print(list(selected)) 👾 — [2, 3] 👍 — [9] 🥰 — [] ⚡️ — [3] Ответ: ⚡️ — [3]. Для самого левого for генераторного выражения источник и его итератор выбираются при создании генератора. Поэтому переназначение source не переключает selected на список [9]. Условие x > limit проверяется во время обхода, когда limit уже равен 2. Из исходного списка проходит только 3. Правило в документации Python 🐸 Библиотека задач по Python
220
5
❓ Создаст ли defaultdict новый ключ при вызове get? Python 3.13. Что выведет код? from collections import defaultdict groups = defaultdict(list) print(groups.get("new"), len(groups)) groups["new"].append(1) print(groups["new"], len(groups)) 👾 — None 0, затем [1] 1 👍 — [] 1, затем [1] 1 🥰 — None 1, затем [1] 1 ⚡️ — KeyError Ответ: 👾 — None 0, затем [1] 1. get работает как у обычного dict: без указанного значения по умолчанию возвращает None и ничего не вставляет. Фабрика list вызывается при обращении к отсутствующему ключу через квадратные скобки. Тогда создаётся список, в который append добавляет 1. Правило в документации Python 🐸 Библиотека задач по Python
224
6
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один. Например, можно совместить: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥 Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога. Акция действует до 31 октября включительно ⏳ ⏬ Собрать свой учебный билд
247
7
❓ Изменится ли список внутри кортежа, если += завершится ошибкой? Python 3.13. Что выведет код? items = ([1],) try: items[0] += [2] except TypeError: print("TypeError") print(items) 👾 — TypeError, затем ([1],) 👍 — ([1, 2],), без ошибки 🥰 — TypeError, затем ([1, 2],) ⚡️ — TypeError, затем пустой кортеж Ответ: 🥰 — TypeError, затем ([1, 2],). Сначала += изменяет сам список, добавляя 2. Затем Python пытается записать результат обратно в items[0]. Кортеж не поддерживает такое присваивание, поэтому возникает TypeError. Уже выполненное изменение списка не откатывается. Правило в документации Python 🐸 Библиотека задач по Python
277
8
Два tee-итератора: сколько раз вызван исходный генератор? Сколько строк, начинающихся с source, выведет код на карточке? 👾 О
Два tee-итератора: сколько раз вызван исходный генератор? Сколько строк, начинающихся с source, выведет код на карточке? 👾 Одну 👍 Две 🥰 Три ⚡️ Вместо вывода будет RuntimeError Ответ: Две: source 0 и source 1. Итератор a уже получил оба значения, а первый next(b) берёт ноль из сохранённых данных, не вызывая генератор снова. tee может удерживать значительный буфер, если один потребитель сильно опережает другой. Ленивость не гарантирует постоянный расход памяти. Возвращённые одной tee итераторы также не потокобезопасны. Как работает itertools.tee
381
9
☔️ Планы на выходные снова испортила погода? У нас есть план получше. Выходные — хороший повод заняться тем, на что вечно не хватает времени. Например, освоить новый навык или углубиться в знакомую тему. 📍 В Proglib Academy покупаешь один курс, а второй получаешь в подарок. Платишь только за один! Вот несколько сочетаний: 💥 ⁠Разработка ИИ-агентов + ⁠Python 💥 ⁠Machine Learning + ⁠Математика для Data Science Можно выбрать и другие курсы — под свои интересы и цели. ⏳ Акция действует до 18 октября. ➡️ ⁠Выбрать курсы и оставить заявку
466
10
👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране? Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить. 🕰️ Опрос займёт около 3 минут. В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео. 🔗 Поделиться опытом 🐸 Библиотека программиста
286
11
zip(strict=True): ошибка до первого результата или после? Что напечатает код на карточке? Параметр strict доступен с Python 3
zip(strict=True): ошибка до первого результата или после? Что напечатает код на карточке? Параметр strict доступен с Python 3.10. 👾 Только ValueError 👍 Сначала (1, 10), затем ValueError 🥰 Две пары, вторая с None ⚡️ Ничего Ответ: Сначала (1, 10), затем ValueError. zip ленивый: первая пара уже выдана, когда на втором next обнаруживается разная длина. strict не делает обработку транзакцией и не откатывает побочные эффекты, которые вы выполнили для предыдущих пар. Если нужна проверка до обработки, продумайте её отдельно с учётом природы входных итераторов. Контракт zip
450
12
Как в FastAPI (SQLAlchemy 2.0 async) корректно обеспечить «сеанс на запрос» с авто-rollback при исключении и гарантированным закрытием соединения? 👾 — Создать один глобальный AsyncSession и шарить его между хэндлерами 👍 — Использовать зависимость с yield 🥰 — Открывать/закрывать сессию вручную в каждом хэндлере try/except ⚡️ — Класть сессию в app.state на старте приложения и переиспользовать Библиотека задач по Python
652
13
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потер
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 18 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠
569
14
Сервис создаёт миллионы однотипных небольших объектов (несколько фиксированных полей). Память растёт, GC давит. Что изменить в моделях, чтобы существенно снизить footprint и ускорить доступ к атрибутам? 👾 — Отключить GC через gc.disable() 👍 — Хранить данные в dict вместо объектов 🥰 — Использовать slots или @dataclass(slots=True) для моделей ⚡️ — Увеличить sys.setrecursionlimit() Библиотека задач по Python
363
15
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах. Через пару недель появляется зада
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science. 🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз. В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков. Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎 🔗 Узнать подробнее 🏃‍♀️ Proglib Academy
254
16
Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механика. Нашли альтернативу 👇
310
17
Какое утверждение о системе зависимостей FastAPI корректно при использовании Depends, BackgroundTasks и ContextVar в асинхронном контексте? 👾 — Все зависимости в FastAPI создаются один раз при запуске приложения и переиспользуются между запросами, если они объявлены через Depends 👍 — Использование ContextVar внутри зависимости гарантирует корректное изолированное состояние на каждый HTTP-запрос, даже при высокой степени параллелизма 🥰 — BackgroundTasks могут быть объявлены внутри зависимости, но они не будут выполнены, если не проброшены явно в APIRouter ⚡️ — Асинхронные зависимости с yield (context managers) поддерживаются FastAPI только при использовании Python 3.12 и выше Библиотека задач по Python
498
18
🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами Но цель одна: перейти
🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️ На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка. ⚡️ Предзапись на осенний поток уже открыта 🏃‍♀️ Proglib Academy
371
19
Разработчику нужен стабильный результат, DevOps — контроль инфраструктуры, техлиду — правила для всей команды. Собрали это в одном посте 👇
369
20
Uvicorn/FastAPI-сервис использует asyncio и сторонние библиотеки, под капотом создающие потоки. Для CPU-bound задач вы подключили multiprocessing, но периодически ловите подвисания/краши при старте воркеров. Какой способ старта процессов корректнее выбрать? 👾 — fork — самый быстрый, поэтому всегда лучший выбор на Linux 👍 — spawn — запуск чистого интерпретатора, безопасен при наличии потоков/мьютексов у родителя 🥰 — forkserver — ничего не меняет относительно потоков, просто сложнее ⚡️ — Любой — способы эквивалентны на Linux Библиотека задач по Python
409