Область видимости и замыкания в Python
Прежде чем переменной можно будет воспользоваться, ей необходимо присвоить значения. Область видимости переменной определяется местом, где ей было присвоено значение. Правило LEGB L ocal локальная область функции E nclosing область внешней функции G lobal глобальное пространство B uilt-in встроенном (модуль builtis) Если не указаны инструкции, то поиск переменных по пространствам имен происходит с низу верх local->enclosing->global->built-in x = 10 print ( 'Global x =' , x) def fun_enclosing (): print ( 'Enclosing x =' , x) def fun_local (): print ( 'Local x =' , x) fun_local() fun_enclosing() Global x = 10 Enclosing x = 10 Local x = 10 Любое присвоение переменной в функции создает новую локальную переменную x = 10 print ( 'Global x =' , x) def fun_enclosing (): x = 20 # создания новой переменной в пространстве имен fun_enclosing print ( 'Enclosing x =' , x) de