Синтаксический анализатор Python читает весь файл перед выполнением даже одной его строки.В то время, когда функция def
ined, ее тело анализируется, и Python решает, какие символы (имена переменных) относятся к чему.Если он видит какой-либо оператор присваивания внутри функции, он принимает правопреемника в качестве локальной переменной ;если вы явно не переопределите это с помощью ключевых слов global
или nonlocal
.Если в теле функции нет оператора присваивания, переменная наследуется из внешней области видимости.