Русский
Открыть в Telegram

Пост Сегодня я покажу вам простой, но очень полезный приём, который часто выручает при работе с Python-скриптами — автоматиче…

18 февраля 2026
Б
Библиотека Python разработчика | Книги по питону
Сегодня я покажу вам простой, но очень полезный приём, который часто выручает при работе с Python-скриптами — автоматическое логирование вызовов функций с помощью декоратора. Иногда, особенно в отладке, хочется видеть, какие функции вызываются, с какими аргументами и что они возвращают. Не писать же в каждую вручную print()? Вот тут и приходит на помощь наш герой — универсальный логгер-декоратор: import functools def log_calls(func): @functools.wraps(func) def wrapper(*args, **kwargs): print(f"[CALL] {func.__name__} args={args} kwargs={kwargs}") result = func(*args, **kwargs) print(f"[RETURN] {func.__name__} -> {result}") return result return wrapper Пример использования: @log_calls def multiply(a, b): return a * b multiply(3, 5) 📌 Вывод: [CALL] multiply args=(3, 5) kwargs={} [RETURN] multiply -> 15 Такой декоратор можно подключить временно на любую функцию — и сразу видеть, что происходит у вас в коде. Это особенно удобно при работе со сторонними библиотеками или когда вы разбираетесь в чужом проекте. Кстати, с небольшими изменениями можно направить вывод не в print(), а в logging, или даже сохранять в файл — по вкусу. Пользуетесь такими декораторами? Или у вас свой лайфхак? 📲 Мы в MAX 👉@BookPython
23 · 1.8K ·

Рядом в ленте

ББиблиотека Python разработчика | Книги по питонуЧтобы сохранить любую информацию в памяти или на устройстве хранения, её необходимо представить в виде байтов. Python, как правило, предоставляет уровень абстраББиблиотека Python разработчика | Книги по питонуЕсли вы создаёте новые объекты внутри метода __init__, возможно, будет лучше передавать их как аргументы и использовать фабричный метод. Это позволяет разделить
это сообщение
ББиблиотека Python разработчика | Книги по питонуОдна и та же строка может быть представлена по-разному в Unicode, и стандарт это учитывает. Он определяет два типа эквивалентности: последовательности могут бытББиблиотека Python разработчика | Книги по питонуОбычно вы взаимодействуете с генератором, запрашивая данные с помощью next(gen). В Python 3 вы также можете отправлять значения обратно в генератор с помощью g.
ББиблиотека Python разработчика | Книги по питонуБиблиотека Python разработчика | Книги по питону@BookPython · канал · Технологии
17 943подписчиков725средний охват поста
Лента площадки Открыть в Telegram

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем