Пояснение ⬇️
Каждый вызов counter() создаёт своё независимое замыкание. c1() увеличивает своё локальное count, а c2() создаёт новое. nonlocal даёт доступ к count внутри increment(), сохраняя его между вызовами.
Python Learning 👩💻
PY Python Learning @python_per_month · 28.2K subscribers 
Каждый вызов counter() создаёт своё независимое замыкание. c1() увеличивает своё локальное count, а c2() создаёт новое. nonlocal даёт доступ к count внутри increment(), сохраняя его между вызовами.