Yesterday

Передача  данных по цепочке функций

def chain(func):
    def wrapper(data):
        result = func(data)  # Вызываем функцию
        print(f"{func.__name__} получила: {data}")
        return result
    return wrapper

# Определяем функции с декоратором
@chain
def alfa(data):
    return "Данные от alfa"

@chain
def delta(data):
    return "Данные от delta"

@chain
def gamma(data):
    return "Данные от gamma"

@chain
def epsilon(data):
    return "Данные от epsilon"

# Список функций для вызова
chain = [alfa, delta, gamma, epsilon]

# Вызов цепочки функций
data = None
for func in chain:
    data = func(data)

Вывод:

Copy

alfa получила: None
delta получила: Данные от alfa
gamma получила: Данные от delta
epsilon получила: Данные от gamma