Курс Python → Декораторы в Python
Декораторы в Python — это мощный инструмент, который позволяет изменять поведение функций или методов без изменения их собственного кода. Прежде всего, декораторы позволяют нам повторно использовать код, делая его более читаемым и модульным. При этом они позволяют добавлять функциональность к существующим функциям, не изменяя их исходный код.
Для создания декоратора в Python используется символ @, за которым следует имя декоратора. Декоратор — это функция, которая принимает другую функцию в качестве аргумента и возвращает новую функцию. Эта новая функция обычно содержит дополнительный код, который выполняется до или после вызова исходной функции.
def my_decorator(func):
def wrapper():
print("Дополнительный код перед вызовом функции")
func()
print("Дополнительный код после вызова функции")
return wrapper
@my_decorator
def say_hello():
print("Привет, мир!")
В приведенном выше примере функция say_hello() декорируется функцией my_decorator(). При вызове функции say_hello() будет сначала выполнен дополнительный код из декоратора, затем сама функция say_hello() и, наконец, еще один блок кода из декоратора. Таким образом, мы можем легко изменять и расширять функциональность наших функций.
Использование декораторов в Python позволяет сделать код более гибким и удобным для поддержки. Они позволяют разделить логику программы на отдельные блоки, что упрощает чтение и понимание кода. Благодаря декораторам мы можем добавлять новые функции и возможности без необходимости изменения исходного кода, что делает нашу программу более масштабируемой и гибкой.
Другие уроки курса "Python"
- Работа со слайсами
- Просмотр атрибутов и методов класса
- Поиск самого длинного слова в списке с использованием max()
- Подсчет элементов с помощью Counter из collections
- Атрибуты класса и экземпляра в Python
- Нахождение хеша для бесконечности и NaN в Python
- Названия столбцов в Python таблицах
- Преобразование Excel в PDF с Spire.XLS
- Форматирование чисел в Python
- Установка User-Agent в Python
- Работа с модулем Calendar
- Метод get для словаря
- Модуль Operator в Python
- Поиск простых чисел
- Namedtuple в Python
- Добавление вложенных списков
- Принцип одной функции
- Реверс строки и списка в Python.
- Строки в Python: апострофы и кавычки
- Перевод эмодзи и эмотиконов.
- Удаление дубликатов в pandas
- Вычисление натуральных логарифмов в NumPy
- Изменение регистра данных
- Работа с байтовыми строками в Python
- Очистка данных с Pandas
- Конкатенация строк в Python
- Управление памятью в numpy.
- Протокол управления контекстом
- Функция enumerate() в Python
- Удаление ключей из словаря
- Аннотации типов в Python
- Инициализация структур данных
- Работа с утверждениями в Python
- Генераторы в Python
- Объединение списков с использованием itertools.chain
- Управление памятью в Python
- Управление контекстом выполнения кода
- Работа с каталогами в Python
- Измерение времени выполнения кода
- Метод split() для разделения строк
- Создание функций высшего порядка
- Метод join для объединения строк
- Сравнение def и lambda функций в Python
- Создание спинбокса в tkinter
- Декодирование байтов в строку















