Это БАЗА! Только 8 месяцев спустя я понял, где можно было использовать декоратор на предыдущем месте работы. Это лишний раз показывает, что некоторые темы на курсах просто бесполезны без реальных проектов. Поэтому если только учитесь, просто забейте и не трогайте. Иногда это проще, чем понять, зачем вам нужно то, что негде применить. Рассказываю: У меня было 10 функций. Они выполняются друг за другом в цикле. Мне нужно, чтобы каждая из них логировала (записывала) время старта и время её финиша в файл. Для этого я естественно использовал библу logger. При этом в цикле я писал строчку с логированием времени перед функцией и сразу после. И да, я логировал время работы функций, чтобы отслеживать нагрузку. Там спарк крутил данные, и я хотел видеть длительность выполнения. В итоге на 10 функций у меня было **10 *2 = 20 строчек. А функции между прочем могут добавляться. Читаемость кода - треш. И только сейчас до меня дошло, что я мог написать всего ОДИН декоратор, который оборачивает любую функцию и делает логи в файлик. Короче для бабушек: Декоратор - это еще одна функция, которая может добавить функционала уже существующей. Например если у вас функция count_func() считает длину строки, то декоратором можно сделать так, чтобы перед и после выполнения count_func() у вас еще логировалось или печаталось текущее время, чтобы узнать, как долго выполняется функция count_func(). При этом в сам декоратор можно закидывать вообще любые функции. Визуально это похоже на функцию внутри функции. Достаточно запутались? Если до вас все равно не дошло, то забейте. Для собеса рекомендую выучить определение или говорить, что не знаете. В теории понять, для чего вам нужен декоратор - бестолку. Но если есть желание именно разобраться, то пишите пет проект и активно просите ChatGPT добавлять декораторы. Тогда точно сильно прокачаетесь! Это прям работает!** Декоратор придумали точно для упрощения жизни.
Это БАЗА! Только 8 месяцев спустя я понял, где можно было использовать…
Источник
https://t.me/halltape_data/535Канал Я – Дата Инженер | Евгений Виндюков · опубликовано 6 мар. 2025 г.
Из этого канала
- #536Искали каналы про недушный Data-science? Тогда вам может понравиться наше…
Искали каналы про недушный Data-science? Тогда вам может понравиться наше предложение ↓ Направление Data-science Авито развивается.
- #537"ℹ️ Докер и Кубер! Увидел классное объяснение в комментах в одном из чатов про…
"ℹ️ Докер и Кубер! Увидел классное объяснение в комментах в одном из чатов про докер и кубернетес..
- #540Я построю свое DWH с блекджеком и шлюпками 23 марта (ВС) 20:00 МСК…
Я построю свое DWH с блекджеком и шлюпками 23 марта (ВС) 20:00 МСК Созваниваемся в Яндекс Телемосте.
- #534"Анонимное Сообщение ""Как накрутить коммерческий опыт «правдоподобно», если ты…
"Анонимное Сообщение ""Как накрутить коммерческий опыт «правдоподобно», если ты вкатун, как пояснить за этот опыт на собесе или же писать 2 года опыта и делать…
- #533Я сейчас в Питере! Буду смотреть дебаты Антона Назарова вживую! Начало в 14:00…
Я сейчас в Питере! Буду смотреть дебаты Антона Назарова вживую! Начало в 14:00 ▶️ Будет также онлайн трансляция: ➡️ Смотреть дебаты Бот для просмотра YouTube…