Внутренняя функция не захватывает аргумент внешней функции.
x = outer_function(function_2)
x теперь является ссылкой на inner_function, которая принимает аргумент и печатает его.
x(3)
Это то же самое, что и inner_function(3)
, который печатает только 3, поэтому печатается 3.