Пространство имен и области видимости
Возможности Python которые не надо использовать:
global spam
— указывает что переменаяspam
создается в глобальной области видимостиnonlocal spam
— указывает что перменнаяspam
берется в замыкающей области видимости
Пример работы
Try Replite!