Junior — Middle
Можете ли да обясните концепцията за декоратори в езика Python и тяхното използване?
sobes.tech AI
Отговор от AI
Декораторите в Python са функции, които приемат друга функция и връщат нова функция с разширено поведение, без да променят изходния код на оригиналната функция. Те често се използват за добавяне на допълнителна логика, като логване, проверка на права за достъп, кеширане и др.
Пример за използване:
def decorator(func):
def wrapper(*args, **kwargs):
print("Преди извикването на функцията")
result = func(*args, **kwargs)
print("След извикването на функцията")
return result
return wrapper
@decorator
def say_hello(name):
print(f"Здравей, {name}!")
say_hello("Свят")
Изход:
Преди извикването на функцията
Здравей, Свят!
След извикването на функцията
По този начин декораторите позволяват да се модифицира поведението на функции или методи по удобен и четим начин.