Junior — Middle
95
Vai jūs varat paskaidrot, kas ir dekoratora modeļa Python valodā un kā tas tiek piemērots?
Uzņēmumi, kur jautāja
ООО УайтСнейк
Employ City
Atbilde no AI
sobes.tech AI
Паттерн декоратора в Python — это способ динамически расширять функциональность функций или методов без изменения их исходного кода. Декоратор — это функция, которая принимает другую функцию и возвращает новую функцию с дополнительным поведением.
Пример простого декоратора, который выводит время выполнения функции:
import time
def timer(func):
def wrapper(*args, **kwargs):
start = time.time()
result = func(*args, **kwargs)
end = time.time()
print(f"Время выполнения {func.__name__}: {end - start:.4f} секунд")
return result
return wrapper
@timer
def some_function():
time.sleep(1)
some_function()
Здесь @timer — синтаксический сахар для some_function = timer(some_function). Декораторы широко применяются для логирования, проверки прав доступа, кэширования и других аспектов, отделяя дополнительную логику от основной функции.