def traverse_tree(callback):
    root = get_root_node()

def recurse(node):
    callback(node)
for child in node.get('children', []):
    recurse(child)
recurse(root)
Рекурсия с использованием доходности