Junior — Middle
85
Оё метавонед шарҳи кунед, ки паттерни декоратор дар забони Python чист ва чӣ гуна истифода мешавад?
Ширкатҳо дар куҷо пурсиданд
ООО УайтСнейк
Employ City
Ҷавоб аз 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). Декораторы широко применяются для логирования, проверки прав доступа, кэширования и других аспектов, отделяя дополнительную логику от основной функции.