Что такое декораторы?

1. Что такое декоратор

  • Декоратор — это функция, которая принимает другую функцию и возвращает её (или изменённую версию).

  • Используется для добавления функционала к функции или методу без изменения её исходного кода.


2. Синтаксис

@decorator_name
def my_function():
    pass
  • Это аналогично:

def my_function():
    pass

my_function = decorator_name(my_function)

3. Пример простого декоратора

def my_decorator(func):
    def wrapper():
        print("До выполнения функции")
        func()
        print("После выполнения функции")
    return wrapper

@my_decorator
def say_hello():
    print("Hello!")

say_hello()

Вывод:


4. Декоратор с аргументами функции


5. Декораторы в автоматизации тестирования

  • Логирование выполнения тестов:

  • Повтор попыток (retry) при падении теста:

  • Измерение времени выполнения теста:


💡 Вывод:

  • Декораторы = способ добавить функционал к функции/методу без изменения исходного кода.

  • Часто используются в логировании, retry, тайминге, проверках pre/post условий в автотестах.

Last updated

Was this helpful?