Sobes.tech
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("Свят")

Изход:

Преди извикването на функцията
Здравей, Свят!
След извикването на функцията

По този начин декораторите позволяват да се модифицира поведението на функции или методи по удобен и четим начин.