При вызове
outter(), функция создаёт локальную переменную var со значением 1, затем вызывает inner()Внутри функции
inner(), с помощью nonlocal, указывается, что нужно изменить значение переменной var во внешней функции outter()Таким образом,
var в outter() становится равным 2. А после завершения inner(), функция outter() выводит значение var, которое теперь равно 2Затем, за пределами
outter(), глобальная переменная var, которая осталась неизменной, выводится — она всё ещё равна 0