Веб-версияОткрыть в Telegram

Пост📌 Декораторы в Python: как они работают и зачем нужны?

8 сентября 2026
Б
Библиотека Python разработчика | Книги по питону
📌 Декораторы в Python: как они работают и зачем нужны? Сегодня я покажу вам, как работают декораторы в Python и зачем они вообще нужны. Декораторы позволяют изменять поведение функций без изменения их кода. Они широко применяются в логировании, кешировании, управлении доступом и многом другом. Допустим, у нас есть функция, которая просто выводит «Hello, world!»: def greet(): print("Hello, world!") Теперь мы хотим, чтобы перед выполнением этой функции выполнялся какой-то код, например, логирование. Вместо изменения greet(), мы создадим декоратор: def log_decorator(func): def wrapper(): print(f"Вызов функции {func.__name__}") return func() return wrapper И теперь используем его: @log_decorator def greet(): print("Hello, world!") greet() 👉 Вывод: Вызов функции greet Hello, world! Как это работает? 1. Декоратор принимает функцию (func) в качестве аргумента. 2. Внутри создаётся вложенная функция wrapper(), которая выполняет дополнительную логику перед вызовом func(). 3. wrapper() возвращается вместо func, фактически подменяя её. Можно даже передавать аргументы в декорируемую функцию: def log_decorator(func): def wrapper(*args, **kwargs): print(f"Вызов {func.__name__} с аргументами: {args}, {kwargs}") return func(*args, **kwargs) return wrapper @log_decorator def add(a, b): return a + b print(add(3, 5)) 👉 Вывод: Вызов add с аргументами: (3, 5), {} 8 🔥 Декораторы это мощный инструмент, который делает код чище и удобнее. Если ещё не использовали их в проектах, самое время попробовать! 📲 Мы в MAX 👉@BookPython
12 · 1.1K ·

Рядом в ленте

ББиблиотека Python разработчика | Книги по питонуСписковые включения (list comprehensions) могут содержать несколько операторов for и if: In : [(x, y) for x in range(3) for y in range(3)] Out: [ (0, 0), (0, 1)ББиблиотека Python разработчика | Книги по питону🐍 Как улучшить читаемость кода в Python? Читаемый код - это не роскошь, а необходимость. Если ваш код трудно понять, даже если он работает, это плохой код. Сего
это сообщение
ББиблиотека Python разработчика | Книги по питонуПрофилируем Python в продакшене: почему cProfile не подходит, и чем хорош py-spy Когда на проде начинает течь память или скачет CPU, первая мысль, подключить прББиблиотека Python разработчика | Книги по питонуЛовушка замыканий: Почему ваши лямбды в цикле сломаны (Late Binding) Вы пишете код, который генерирует список функций (например, колбэки для кнопок в UI или дин
ББиблиотека Python разработчика | Книги по питонуБиблиотека Python разработчика | Книги по питону@BookPython · канал · Технологии
18 046подписчиков901средний охват поста
Лента площадки Открыть в Telegram

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

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