когда последняя функция в стеке рекурсии завершается, завершаются остальные, которые выше по стеку
вывод в консоль
n = 2 - первый вызов print( 'n =', n)
1 - первый вызов print('1')
n = 1 - второй вызов (рекурсия) print( 'n =', n)
1 - второй вызов (рекурсия) print('1')
2 - второй вызов (рекурсия) print('2')
3 - второй вызов (рекурсия) print('3')
2 - первый вызов print('2')
3 - первый вызов print('3')