Что делает __slots__ в классе?
👾 — Делает экземпляры неизменяемыми и хешируемыми
👍 — Убирает dict у экземпляров и запрещает произвольные атрибуты, оставляя только перечисленные слоты (меньше памяти)
🥰 — Превращает класс в dataclass
⚡️ — Включает GIL-оптимизации для всех операций
Библиотека задач по Python
👾 — Делает экземпляры неизменяемыми и хешируемыми
👍 — Убирает dict у экземпляров и запрещает произвольные атрибуты, оставляя только перечисленные слоты (меньше памяти)
🥰 — Превращает класс в dataclass
⚡️ — Включает GIL-оптимизации для всех операций
Библиотека задач по Python
👍15
✨ Halloween Special — последний день магии! 👻
Успевай сегодня купить курсы со скидкой 40%!
А также участвуй в розыгрыше MacBook Pro 14 💻
После полуночи останется только тыква 🎃
🔮 Открой портал и выбери курс
Успевай сегодня купить курсы со скидкой 40%!
А также участвуй в розыгрыше MacBook Pro 14 💻
После полуночи останется только тыква 🎃
🔮 Открой портал и выбери курс
Как в Python 3.11+ выполнить блокирующую функцию из async-кода без доступа к loop?
👾 — await func()
👍 — await asyncio.to_thread(func, *args)
🥰 — time.sleep() внутри корутины
⚡️ — await asyncio.sleep(0) перед вызовом
Библиотека задач по Python
👾 — await func()
👍 — await asyncio.to_thread(func, *args)
🥰 — time.sleep() внутри корутины
⚡️ — await asyncio.sleep(0) перед вызовом
Библиотека задач по Python
👍11
Как перезагрузить импортированный модуль?
Чтобы перезагрузить импортированный модуль в Python, вы можете использовать функцию reload() из модуля importlib.
Замените module_name на фактическое имя модуля, который вы хотите перезагрузить.
Это может быть полезно при разработке и тестировании модулей, но не рекомендуется использовать в производственном коде без серьезных причин.
Библиотека задач по Python
Замените module_name на фактическое имя модуля, который вы хотите перезагрузить.
Это может быть полезно при разработке и тестировании модулей, но не рекомендуется использовать в производственном коде без серьезных причин.
Библиотека задач по Python
Что выведет код?
👾 — ['Hello', 'World']
👍 — ['HELLO', 'WORLD']
🥰 — ['None', 'None']
Библиотека задач по Python
👾 — ['Hello', 'World']
👍 — ['HELLO', 'WORLD']
🥰 — ['None', 'None']
Библиотека задач по Python
👾50👍21😁1
Чем отличается copy.copy от copy.deepcopy?
👾 — Обе делают глубокую копию
👍 — copy копирует только контейнер, вложенные объекты — по ссылке; deepcopy рекурсивно копирует всё
🥰 — Обе лишь увеличивают счётчик ссылок
⚡️ — deepcopy быстрее, поэтому всегда лучше
Библиотека задач по Python
👾 — Обе делают глубокую копию
👍 — copy копирует только контейнер, вложенные объекты — по ссылке; deepcopy рекурсивно копирует всё
🥰 — Обе лишь увеличивают счётчик ссылок
⚡️ — deepcopy быстрее, поэтому всегда лучше
Библиотека задач по Python
👍26❤1
Что делает yield from subgen?
👾 — Просто вызывает подгенератор и возвращает список
👍 — Делегирует итерацию/send/throw/close подгенератору и получает его return как результат (PEP 380)
🥰 — Запускает подгенератор параллельно в другом потоке
⚡️ — Гарантирует выполнение в отдельном процессе
Библиотека задач по Python
👾 — Просто вызывает подгенератор и возвращает список
👍 — Делегирует итерацию/send/throw/close подгенератору и получает его return как результат (PEP 380)
🥰 — Запускает подгенератор параллельно в другом потоке
⚡️ — Гарантирует выполнение в отдельном процессе
Библиотека задач по Python
👾5👍2
Что даёт
👾 — Глубоко делает неизменяемыми и все вложенные объекты
👍 — Запрещает присваивания атрибутов (иммутабельность на уровне класса) и при eq=True по умолчанию делает экземпляр хешируемым
🥰 — Автоматически копирует все мутируемые аргументы
конструктора
⚡️ — Включает slots и уменьшает память
Библиотека задач по Python
@dataclass(frozen=True)?👾 — Глубоко делает неизменяемыми и все вложенные объекты
👍 — Запрещает присваивания атрибутов (иммутабельность на уровне класса) и при eq=True по умолчанию делает экземпляр хешируемым
🥰 — Автоматически копирует все мутируемые аргументы
конструктора
⚡️ — Включает slots и уменьшает память
Библиотека задач по Python
👍13⚡2
Что делает asyncio.gather(..., return_exceptions=True)?
👾 — Отменяет все задачи при первом исключении
👍 — Возвращает исключения как элементы результата, не прерывая остальные задачи
🥰 — Полностью скрывает исключения и возвращает None
⚡️ — Автоматически перезапускает упавшие задачи
Библиотека задач по Python
👾 — Отменяет все задачи при первом исключении
👍 — Возвращает исключения как элементы результата, не прерывая остальные задачи
🥰 — Полностью скрывает исключения и возвращает None
⚡️ — Автоматически перезапускает упавшие задачи
Библиотека задач по Python
👍11👾2
Зачем нужен from __future__ import annotations?
👾 — Включает проверку типов в рантайме и кидает ошибки при несоответствии
👍 — Откладывает вычисление аннотаций (хранятся как строки), упрощая forward refs и циклические импорты
🥰 — Автоматически импортирует typing и делает аннотации обязательными
⚡️ — Превращает аннотации в комментарии и удаляет их из annotations
Библиотека задач по Python
👾 — Включает проверку типов в рантайме и кидает ошибки при несоответствии
👍 — Откладывает вычисление аннотаций (хранятся как строки), упрощая forward refs и циклические импорты
🥰 — Автоматически импортирует typing и делает аннотации обязательными
⚡️ — Превращает аннотации в комментарии и удаляет их из annotations
Библиотека задач по Python
👍9🥰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
👍10
🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 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
👍24❤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
👍5
📊 Задача с собеседования
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику.
🎓 Именно этому посвящен курс экспресс-курс «Математика для 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
👍2