Как перезагрузить импортированный модуль?
Чтобы перезагрузить импортированный модуль в Python, вы можете использовать функцию reload() из модуля importlib.
Замените module_name на фактическое имя модуля, который вы хотите перезагрузить.
Это может быть полезно при разработке и тестировании модулей, но не рекомендуется использовать в производственном коде без серьезных причин.
Библиотека задач по Python
Чтобы перезагрузить импортированный модуль в Python, вы можете использовать функцию reload() из модуля importlib.
Замените module_name на фактическое имя модуля, который вы хотите перезагрузить.
Это может быть полезно при разработке и тестировании модулей, но не рекомендуется использовать в производственном коде без серьезных причин.
Библиотека задач по Python
Чем отличается copy.copy от copy.deepcopy?
👾 — Обе делают глубокую копию
👍 — copy копирует только контейнер, вложенные объекты — по ссылке; deepcopy рекурсивно копирует всё
🥰 — Обе лишь увеличивают счётчик ссылок
⚡️ — deepcopy быстрее, поэтому всегда лучше
Библиотека задач по Python
👾 — Обе делают глубокую копию
👍 — copy копирует только контейнер, вложенные объекты — по ссылке; deepcopy рекурсивно копирует всё
🥰 — Обе лишь увеличивают счётчик ссылок
⚡️ — deepcopy быстрее, поэтому всегда лучше
Библиотека задач по Python
👍2
Что делает yield from subgen?
👾 — Просто вызывает подгенератор и возвращает список
👍 — Делегирует итерацию/send/throw/close подгенератору и получает его return как результат (PEP 380)
🥰 — Запускает подгенератор параллельно в другом потоке
⚡️ — Гарантирует выполнение в отдельном процессе
Библиотека задач по Python
👾 — Просто вызывает подгенератор и возвращает список
👍 — Делегирует итерацию/send/throw/close подгенератору и получает его return как результат (PEP 380)
🥰 — Запускает подгенератор параллельно в другом потоке
⚡️ — Гарантирует выполнение в отдельном процессе
Библиотека задач по Python
Что даёт @dataclass(frozen=True)?
👾 — Глубоко делает неизменяемыми и все вложенные объекты
👍 — Запрещает присваивания атрибутов (иммутабельность на уровне класса) и при eq=True по умолчанию делает экземпляр хешируемым
🥰 — Автоматически копирует все мутируемые аргументы
конструктора
⚡️ — Включает slots и уменьшает память
Библиотека задач по Python
👾 — Глубоко делает неизменяемыми и все вложенные объекты
👍 — Запрещает присваивания атрибутов (иммутабельность на уровне класса) и при eq=True по умолчанию делает экземпляр хешируемым
🥰 — Автоматически копирует все мутируемые аргументы
конструктора
⚡️ — Включает slots и уменьшает память
Библиотека задач по Python
Что делает asyncio.gather(..., return_exceptions=True)?
👾 — Отменяет все задачи при первом исключении
👍 — Возвращает исключения как элементы результата, не прерывая остальные задачи
🥰 — Полностью скрывает исключения и возвращает None
⚡️ — Автоматически перезапускает упавшие задачи
Библиотека задач по Python
👾 — Отменяет все задачи при первом исключении
👍 — Возвращает исключения как элементы результата, не прерывая остальные задачи
🥰 — Полностью скрывает исключения и возвращает None
⚡️ — Автоматически перезапускает упавшие задачи
Библиотека задач по Python
Зачем нужен from __future__ import annotations?
👾 — Включает проверку типов в рантайме и кидает ошибки при несоответствии
👍 — Откладывает вычисление аннотаций (хранятся как строки), упрощая forward refs и циклические импорты
🥰 — Автоматически импортирует typing и делает аннотации обязательными
⚡️ — Превращает аннотации в комментарии и удаляет их из annotations
Библиотека задач по Python
👾 — Включает проверку типов в рантайме и кидает ошибки при несоответствии
👍 — Откладывает вычисление аннотаций (хранятся как строки), упрощая forward refs и циклические импорты
🥰 — Автоматически импортирует typing и делает аннотации обязательными
⚡️ — Превращает аннотации в комментарии и удаляет их из annotations
Библиотека задач по Python
Почему нельзя вызывать asyncio.run() внутри уже работающего event loop (например, в Jupyter/ASGI)?
👾 — Потому что asyncio.run требует Python 3.12+
👍 — У него свой цикл событий; внутри активного цикла бросит RuntimeError. Нужно await корутину или создавать задачу (asyncio.create_task)
🥰 — Он автоматически вкладывает циклы друг в друга
⚡️ — Это всего лишь алиас loop.run_until_complete
Библиотека задач по Python
👾 — Потому что asyncio.run требует Python 3.12+
👍 — У него свой цикл событий; внутри активного цикла бросит RuntimeError. Нужно await корутину или создавать задачу (asyncio.create_task)
🥰 — Он автоматически вкладывает циклы друг в друга
⚡️ — Это всего лишь алиас loop.run_until_complete
Библиотека задач по Python
Как внутри вложенной функции изменить переменную из внешней (но не глобальной) области?
👾 — global x
👍 — nonlocal x
🥰 — Просто x = ... — изменит замыкание автоматически
⚡️ — locals()['x'] = ...
Библиотека задач по Python
👾 — global x
👍 — nonlocal x
🥰 — Просто x = ... — изменит замыкание автоматически
⚡️ — locals()['x'] = ...
Библиотека задач по Python
Чем functools.cached_property отличается от @property?
👾 — Всегда вычисляет заново при каждом доступе
👍 — Вычисляет один раз на экземпляр и кеширует; можно сбросить del obj.attr
🥰 — Делит кеш между всеми экземплярами класса
⚡️ — Автоматически кэширует результаты корутин
Библиотека задач по Python
👾 — Всегда вычисляет заново при каждом доступе
👍 — Вычисляет один раз на экземпляр и кеширует; можно сбросить del obj.attr
🥰 — Делит кеш между всеми экземплярами класса
⚡️ — Автоматически кэширует результаты корутин
Библиотека задач по Python
Кризис в диджитал
Все говорят о кризисе: бюджеты режут, рынок сжимается, конкуренция растёт. В digital это ощущается сильнее всего – давление на эффективность и сроки стало нормой. Но паника ничего не меняет.
Мы видим ситуацию иначе. Когда рынок штормит, выигрывают не те, у кого больше ресурсов, а те, кто умеет быстро перестраиваться, усиливать процессы и работать точнее.
Мы знаем, как проходить спад: что оптимизировать, что автоматизировать, какие метрики реально важны, что помогает удерживать клиентов, а что – только создаёт иллюзию контроля.
В итоге несколько авторов digital-каналов решили объединиться и собрать всё полезное в одну папку — «Документы для тех, кто в digital»
🔴 Там 30 файлов, которые помогают выстроить управление, аналитику и внутренние процессы:
– Мотивация сотрудников в IT,
– Контроль сроков диджитал-проекта,
– Шаблон CSI,
– Фреймворк для проведения исследований через ИИ,
– Как создать продающее КП.
📂 Ссылка на папку: https://t.iss.one/addlist/mUVeZHwtrzc0NWYy
А чтобы добавить немного азарта — среди подписавшихся разыграют:
🥇 iPhone Air;
🥈 Яндекс Станцию Лайт 2;
🥉 HUAWEI Freebuds 5.
Как участвовать:
1. Подпишись на папку: https://t.iss.one/addlist/mUVeZHwtrzc0NWYy
2. Подтверди участие в боте
🗓 Итоги — 25 ноября.
Все говорят о кризисе: бюджеты режут, рынок сжимается, конкуренция растёт. В digital это ощущается сильнее всего – давление на эффективность и сроки стало нормой. Но паника ничего не меняет.
Мы видим ситуацию иначе. Когда рынок штормит, выигрывают не те, у кого больше ресурсов, а те, кто умеет быстро перестраиваться, усиливать процессы и работать точнее.
Мы знаем, как проходить спад: что оптимизировать, что автоматизировать, какие метрики реально важны, что помогает удерживать клиентов, а что – только создаёт иллюзию контроля.
В итоге несколько авторов digital-каналов решили объединиться и собрать всё полезное в одну папку — «Документы для тех, кто в digital»
– Мотивация сотрудников в IT,
– Контроль сроков диджитал-проекта,
– Шаблон CSI,
– Фреймворк для проведения исследований через ИИ,
– Как создать продающее КП.
📂 Ссылка на папку: https://t.iss.one/addlist/mUVeZHwtrzc0NWYy
А чтобы добавить немного азарта — среди подписавшихся разыграют:
🥇 iPhone Air;
🥈 Яндекс Станцию Лайт 2;
🥉 HUAWEI Freebuds 5.
Как участвовать:
1. Подпишись на папку: https://t.iss.one/addlist/mUVeZHwtrzc0NWYy
2. Подтверди участие в боте
🗓 Итоги — 25 ноября.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Зачем в multiprocessing на Windows нужен if __name__ == "__main__":?
👾 — Чтобы было быстрее
👍 — Чтобы избежать рекурсивного спавна: Windows использует spawn и повторно импортирует модуль; гард не даст выполнить модульный код в дочернем процессе
🥰 — Нужен для совместимости с Python 2
⚡️ — Он отключает GIL в дочерних процессах
Библиотека задач по Python
👾 — Чтобы было быстрее
👍 — Чтобы избежать рекурсивного спавна: Windows использует spawn и повторно импортирует модуль; гард не даст выполнить модульный код в дочернем процессе
🥰 — Нужен для совместимости с Python 2
⚡️ — Он отключает GIL в дочерних процессах
Библиотека задач по Python
Что делает subprocess.run (subprocess.run)(cmd, check=True)?
👾 — Печатает вывод в реальном времени
👍 — Бросает CalledProcessError, если код выхода ≠ 0
🥰 — Автоматически убивает процесс через 10 секунд
⚡️ — Включает shell=True по умолчанию
Библиотека задач по Python
👾 — Печатает вывод в реальном времени
👍 — Бросает CalledProcessError, если код выхода ≠ 0
🥰 — Автоматически убивает процесс через 10 секунд
⚡️ — Включает shell=True по умолчанию
Библиотека задач по Python
Чем typing.Any отличается от object?
👾 — Any — то же самое, что object
👍 — Any совместим со всем и «протекает» проверки; object — верхний тип, но требует явных проверок/кастов для специфичных методов
🥰 — object запрещает присваивания переменных других типов
⚡️ — Any делает объект неизменяемым
Библиотека задач по Python
👾 — Any — то же самое, что object
👍 — Any совместим со всем и «протекает» проверки; object — верхний тип, но требует явных проверок/кастов для специфичных методов
🥰 — object запрещает присваивания переменных других типов
⚡️ — Any делает объект неизменяемым
Библиотека задач по Python
Что делает __all__ в модуле?
👾 — Управляет getattr при отсутствии атрибутов
👍 — Определяет, какие имена экспортируются при from module import *; прямой import module не затрагивает
🥰 — Полностью скрывает имена от любых импортов
⚡️ — Ускоряет импорт, пропуская «лишние» имена
Библиотека задач по Python
👾 — Управляет getattr при отсутствии атрибутов
👍 — Определяет, какие имена экспортируются при from module import *; прямой import module не затрагивает
🥰 — Полностью скрывает имена от любых импортов
⚡️ — Ускоряет импорт, пропуская «лишние» имена
Библиотека задач по Python