Что делает yield from subgen?
👾 — Просто вызывает подгенератор и возвращает список
👍 — Делегирует итерацию/send/throw/close подгенератору и получает его return как результат (PEP 380)
🥰 — Запускает подгенератор параллельно в другом потоке
⚡️ — Гарантирует выполнение в отдельном процессе
Библиотека задач по Python
👾 — Просто вызывает подгенератор и возвращает список
👍 — Делегирует итерацию/send/throw/close подгенератору и получает его return как результат (PEP 380)
🥰 — Запускает подгенератор параллельно в другом потоке
⚡️ — Гарантирует выполнение в отдельном процессе
Библиотека задач по Python
👾6👍2
Что даёт
👾 — Глубоко делает неизменяемыми и все вложенные объекты
👍 — Запрещает присваивания атрибутов (иммутабельность на уровне класса) и при eq=True по умолчанию делает экземпляр хешируемым
🥰 — Автоматически копирует все мутируемые аргументы
конструктора
⚡️ — Включает slots и уменьшает память
Библиотека задач по Python
@dataclass(frozen=True)?👾 — Глубоко делает неизменяемыми и все вложенные объекты
👍 — Запрещает присваивания атрибутов (иммутабельность на уровне класса) и при eq=True по умолчанию делает экземпляр хешируемым
🥰 — Автоматически копирует все мутируемые аргументы
конструктора
⚡️ — Включает slots и уменьшает память
Библиотека задач по Python
👍14⚡2
Что делает asyncio.gather(..., return_exceptions=True)?
👾 — Отменяет все задачи при первом исключении
👍 — Возвращает исключения как элементы результата, не прерывая остальные задачи
🥰 — Полностью скрывает исключения и возвращает None
⚡️ — Автоматически перезапускает упавшие задачи
Библиотека задач по Python
👾 — Отменяет все задачи при первом исключении
👍 — Возвращает исключения как элементы результата, не прерывая остальные задачи
🥰 — Полностью скрывает исключения и возвращает None
⚡️ — Автоматически перезапускает упавшие задачи
Библиотека задач по Python
👍13👾2
Зачем нужен from __future__ import annotations?
👾 — Включает проверку типов в рантайме и кидает ошибки при несоответствии
👍 — Откладывает вычисление аннотаций (хранятся как строки), упрощая forward refs и циклические импорты
🥰 — Автоматически импортирует typing и делает аннотации обязательными
⚡️ — Превращает аннотации в комментарии и удаляет их из annotations
Библиотека задач по Python
👾 — Включает проверку типов в рантайме и кидает ошибки при несоответствии
👍 — Откладывает вычисление аннотаций (хранятся как строки), упрощая forward refs и циклические импорты
🥰 — Автоматически импортирует typing и делает аннотации обязательными
⚡️ — Превращает аннотации в комментарии и удаляет их из annotations
Библиотека задач по Python
👍10🥰3
Почему нельзя вызывать
👾 — Потому что
👍 — У него свой цикл событий; внутри активного цикла бросит RuntimeError. Нужно await корутину или создавать задачу (asyncio.create_task)
🥰 — Он автоматически вкладывает циклы друг в друга
⚡️ — Это всего лишь алиас loop.run_until_complete
Библиотека задач по Python
asyncio.run() внутри уже работающего event loop (например, в Jupyter/ASGI)?👾 — Потому что
asyncio.run требует Python 3.12+👍 — У него свой цикл событий; внутри активного цикла бросит RuntimeError. Нужно await корутину или создавать задачу (asyncio.create_task)
🥰 — Он автоматически вкладывает циклы друг в друга
⚡️ — Это всего лишь алиас loop.run_until_complete
Библиотека задач по Python
👍11
🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 40%
Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎
🔥 Курсы со скидкой 40% до конца ноября:
🐍 Python
📐 Математика
🤖 AI
🔢 Алгоритмы и структуры
Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈
Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎
🔥 Курсы со скидкой 40% до конца ноября:
🐍 Python
📐 Математика
🤖 AI
🔢 Алгоритмы и структуры
Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈
Как внутри вложенной функции изменить переменную из внешней (но не глобальной) области?
👾 — global x
👍 — nonlocal x
🥰 — Просто x = ... — изменит замыкание автоматически
⚡️ — locals()['x'] = ...
Библиотека задач по Python
👾 — global x
👍 — nonlocal x
🥰 — Просто x = ... — изменит замыкание автоматически
⚡️ — locals()['x'] = ...
Библиотека задач по Python
👍28❤1⚡1
Приглашаем на открытый урок.
🗓 18 ноября в 20:00 МСК
🆓 Бесплатно. Урок в рамках старта курса «Python Developer. Professional».
Машинное обучение часто кажется чем-то абстрактным и сложным. Но на самом деле основы можно понять на практическом примере. На открытом уроке прямо в Jupyter Notebook мы загрузим данные, обучим модель на Python и посмотрим, как она «угадывает» буквы на картинках. Это позволит наглядно увидеть, как работает искусственный интеллект.
На вебинаре разберём:
В результате вебинара вы:
🔗 Ссылка на регистрацию: https://clc.to/4bctRQ
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
Чем functools.cached_property отличается от
👾 — Всегда вычисляет заново при каждом доступе
👍 — Вычисляет один раз на экземпляр и кеширует; можно сбросить del obj.attr
🥰 — Делит кеш между всеми экземплярами класса
⚡️ — Автоматически кэширует результаты корутин
Библиотека задач по Python
@property?👾 — Всегда вычисляет заново при каждом доступе
👍 — Вычисляет один раз на экземпляр и кеширует; можно сбросить del obj.attr
🥰 — Делит кеш между всеми экземплярами класса
⚡️ — Автоматически кэширует результаты корутин
Библиотека задач по Python
👍8
📊 Задача с собеседования
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику.
🎓 Именно этому посвящен курс экспресс-курс «Математика для Data Science» от Proglib Academy:
— работа с векторами и матрицами;
— линейная регрессия и метод наименьших квадратов;
— вероятности, распределения, статистика;
— и многое другое.
⏳ Старт: 4 декабря
🔥 Скидка: 40% до конца ноября
👉 Подключиться к курсу
Имеются данные о продажах за последние 12 месяцев. Требуется оценить наличие линейной зависимости между количеством заключённых сделок и объёмом выручки, а также построить прогноз выручки при достижении 150 сделок.
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику.
🎓 Именно этому посвящен курс экспресс-курс «Математика для Data Science» от Proglib Academy:
— работа с векторами и матрицами;
— линейная регрессия и метод наименьших квадратов;
— вероятности, распределения, статистика;
— и многое другое.
⏳ Старт: 4 декабря
🔥 Скидка: 40% до конца ноября
👉 Подключиться к курсу
Зачем в multiprocessing на Windows нужен if __name__ == "__main__":?
👾 — Чтобы было быстрее
👍 — Чтобы избежать рекурсивного спавна: Windows использует spawn и повторно импортирует модуль; гард не даст выполнить модульный код в дочернем процессе
🥰 — Нужен для совместимости с Python 2
⚡️ — Он отключает GIL в дочерних процессах
Библиотека задач по Python
👾 — Чтобы было быстрее
👍 — Чтобы избежать рекурсивного спавна: Windows использует spawn и повторно импортирует модуль; гард не даст выполнить модульный код в дочернем процессе
🥰 — Нужен для совместимости с Python 2
⚡️ — Он отключает GIL в дочерних процессах
Библиотека задач по Python
👍23
Что делает
👾 — Печатает вывод в реальном времени
👍 — Бросает CalledProcessError, если код выхода ≠ 0
🥰 — Автоматически убивает процесс через 10 секунд
⚡️ — Включает shell=True по умолчанию
Библиотека задач по Python
subprocess.run(cmd, check=True)?👾 — Печатает вывод в реальном времени
👍 — Бросает CalledProcessError, если код выхода ≠ 0
🥰 — Автоматически убивает процесс через 10 секунд
⚡️ — Включает shell=True по умолчанию
Библиотека задач по Python
👍7
Чем typing.Any отличается от object?
👾 — Any — то же самое, что object
👍 — Any совместим со всем и «протекает» проверки; object — верхний тип, но требует явных проверок/кастов для специфичных методов
🥰 — object запрещает присваивания переменных других типов
⚡️ — Any делает объект неизменяемым
Библиотека задач по Python
👾 — Any — то же самое, что object
👍 — Any совместим со всем и «протекает» проверки; object — верхний тип, но требует явных проверок/кастов для специфичных методов
🥰 — object запрещает присваивания переменных других типов
⚡️ — Any делает объект неизменяемым
Библиотека задач по Python
👍10
Что делает __all__ в модуле?
👾 — Управляет getattr при отсутствии атрибутов
👍 — Определяет, какие имена экспортируются при from module import *; прямой import module не затрагивает
🥰 — Полностью скрывает имена от любых импортов
⚡️ — Ускоряет импорт, пропуская «лишние» имена
Библиотека задач по Python
👾 — Управляет getattr при отсутствии атрибутов
👍 — Определяет, какие имена экспортируются при from module import *; прямой import module не затрагивает
🥰 — Полностью скрывает имена от любых импортов
⚡️ — Ускоряет импорт, пропуская «лишние» имена
Библиотека задач по Python
👍15
Что означает, если __exit__(exc_type, exc, tb) возвращает True?
👾 — Исключение пробрасывается дальше
👍 — Исключение подавляется, блок with не выбросит его наружу
🥰 — Контекстный менеджер перезапускает тело with
⚡️ — Тип исключения меняется на RuntimeError
Библиотека задач по Python
👾 — Исключение пробрасывается дальше
👍 — Исключение подавляется, блок with не выбросит его наружу
🥰 — Контекстный менеджер перезапускает тело with
⚡️ — Тип исключения меняется на RuntimeError
Библиотека задач по Python
👾8👍1🤔1
Media is too big
VIEW IN TELEGRAM
🔥 Закрой пробелы в математике за 8 недель
Валишься на вопросах про математику на собесах?
Proglib Academy запускает курс «Математика для Data Science», чтобы помочь тебе получить вакансию мечты!
🔎 Тебя ждут:
→ топовые эксперты, один из них на видео — Мария Тихонова. Мария — кандидат компьютерных наук, руководитель исследовательского направления SberAI, доцент факультета компьютерных наук и преподаватель НИУ ВШЭ;
→ живые вебинары, на которых можно задать вопросы спикерам;
→ доступ к материалам в записи, если не успели на лекцию и чат;
→ 3 задания с практикой на Python и финальный проект с подробной обратной связью от экспертов курса;
→ актуальные знания: программа разработана в ноябре 2025г;
→ программа без воды — 2 месяца только самого нужного для старта.
👉 Пройди короткий тест и узнай свой уровень математики.
Приятные бонусы:
🎁 скидка 40% до 30 ноября;
🎁 оплати до конца ноября → курс «Школьная математика» в подарок.
🔗 Подробнее о курсе
Валишься на вопросах про математику на собесах?
Proglib Academy запускает курс «Математика для Data Science», чтобы помочь тебе получить вакансию мечты!
🔎 Тебя ждут:
→ топовые эксперты, один из них на видео — Мария Тихонова. Мария — кандидат компьютерных наук, руководитель исследовательского направления SberAI, доцент факультета компьютерных наук и преподаватель НИУ ВШЭ;
→ живые вебинары, на которых можно задать вопросы спикерам;
→ доступ к материалам в записи, если не успели на лекцию и чат;
→ 3 задания с практикой на Python и финальный проект с подробной обратной связью от экспертов курса;
→ актуальные знания: программа разработана в ноябре 2025г;
→ программа без воды — 2 месяца только самого нужного для старта.
👉 Пройди короткий тест и узнай свой уровень математики.
Приятные бонусы:
🎁 скидка 40% до 30 ноября;
🎁 оплати до конца ноября → курс «Школьная математика» в подарок.
🔗 Подробнее о курсе
🤔1
Что будет у functools.lru_cache, если аргумент не хешируемый (например, list)?
👾 — Автоматически скопирует и захеширует любой аргумент
👍 — Построит ключ из args/kwargs; при нехешируемом аргументе бросит TypeError на вызове
🥰 — Нехешируемые аргументы игнорируются при ключе
⚡️ — Учитывает только позиционные аргументы, kwargs игнорируются
Библиотека задач по Python
👾 — Автоматически скопирует и захеширует любой аргумент
👍 — Построит ключ из args/kwargs; при нехешируемом аргументе бросит TypeError на вызове
🥰 — Нехешируемые аргументы игнорируются при ключе
⚡️ — Учитывает только позиционные аргументы, kwargs игнорируются
Библиотека задач по Python
👍3👾2
Что будет с хешируемостью класса, если переопределить только __eq__?
👾 — Останется хешируемым через object.hash
👍 — hash станет None, экземпляры станут нехешируемыми, пока явно не определить hash (исключение — frozen dataclass генерирует)
🥰 — Хеш станет id(self)
⚡️ — Хеш посчитается из полей, участвующих в eq
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
👾 — Останется хешируемым через object.hash
👍 — hash станет None, экземпляры станут нехешируемыми, пока явно не определить hash (исключение — frozen dataclass генерирует)
🥰 — Хеш станет id(self)
⚡️ — Хеш посчитается из полей, участвующих в eq
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
👍4
Как корректно группировать элементы по ключу itertools.groupby?
👾 — Достаточно передать key, порядок не важен
👍 — Предварительно отсортировать по тому же ключу; groupby группирует только соседние элементы
🥰 — Использовать groupby всегда вместо словаря списков
⚡️ — Указать unique=True у groupby
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
👾 — Достаточно передать key, порядок не важен
👍 — Предварительно отсортировать по тому же ключу; groupby группирует только соседние элементы
🥰 — Использовать groupby всегда вместо словаря списков
⚡️ — Указать unique=True у groupby
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
👍1
Что на самом деле гарантирует GIL в CPython?
👾 — Полную потокобезопасность без блокировок
👍 — Что одновременно байткод исполняет только один поток; гонки в данных всё равно возможны
🥰 — Истинный параллелизм CPU на всех ядрах в потоках
⚡️ — Ускорение asyncio для CPU-bound задач
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
👾 — Полную потокобезопасность без блокировок
👍 — Что одновременно байткод исполняет только один поток; гонки в данных всё равно возможны
🥰 — Истинный параллелизм CPU на всех ядрах в потоках
⚡️ — Ускорение asyncio для CPU-bound задач
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
👍12👾1
Что произойдёт?
👾 — Изменится только rows[0]
👍 — Изменится обе строки: [[1,0,0],[1,0,0]] из-за общей ссылки на один внутренний список
🥰 — Произойдёт глубокое копирование автоматически
⚡️ — Будет IndexError
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
rows = [[0]*3]*2
rows[0][0] = 1
👾 — Изменится только rows[0]
👍 — Изменится обе строки: [[1,0,0],[1,0,0]] из-за общей ссылки на один внутренний список
🥰 — Произойдёт глубокое копирование автоматически
⚡️ — Будет IndexError
🔹 Курс «Программирование на языке Python»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib
Библиотека задач по Python
👍7⚡1