Область действия функции означает степень, в которой переменные и другие элементы данных, созданные внутри функции, доступны в коде.
В Python область действия функции — это тело функции.
Всякий раз, когда функция запускается, интерпретатор перемещается в область действия функции. Интерпретатор возвращается во внешнюю область после завершения работы функции.
В Python данные, созданные внутри функции, не могут использоваться извне, если они не возвращаются из функции.
Переменные в функции изолированы от остальной части программы. Когда функция завершается, они освобождаются из памяти и не могут быть восстановлены.
Следующий код никогда не будет работать:
def func():
name = "Stark"
func()
print(name) # Пытаемся получить доступ к переменной 'name' вне функции
# Получим ошибку
Как мы видим, переменная name не существует во внешней области видимости, и Python сообщит нам об этом.
Точно так же функция не может получить доступ к данным за пределами своей области, если данные не были переданы в качестве аргумента.
name = "Ned"
def func():
name = "Stark"
func()
print(name) # Значение переменной 'name' остается неизменным.