Декоратор Python для простой рекурсии? В стандартной библиотеке или где-нибудь еще?

Я ищу декоратор Python, который может сделать функцию рекурсивной. Я обнаружил, что пишу много таких функций:

def xyz(data):
    if not isinstance(data, TypeThatDenotesSingularity):
        return map(xyz, data)
    return singular_xyz(data)

Я полагаю, что где-то должен быть декоратор (в стандартной библиотеке?), Который может немного сократить нотацию:

@recursive(TypeThatDenotesSingularity)
def xyz(data):
    return singular_xyz(data)

Я искал, но могу Кажется, никуда не денешься. Может быть, мне не хватает какой-то важной терминологии?

Спасибо, что указали мне правильное направление!

6
задан Tim Molendijk 16 February 2011 в 17:11
поделиться