Локальные жители Python ()

Метод locals () обновляет и возвращает словарь текущей локальной таблицы символов.

Таблица символов - это структура данных, поддерживаемая компилятором, которая содержит всю необходимую информацию о программе.

К ним относятся имена переменных, методы, классы и т. Д.

В основном есть два вида таблиц символов.

  1. Таблица глобальных символов
  2. Таблица локальных символов

В глобальной таблице символов хранится вся информация, относящаяся к глобальной области действия программы, доступ к ней в Python осуществляется с помощью метода globals ().

Глобальная область видимости содержит все функции и переменные, которые не связаны ни с каким классом или функцией.

Точно так же в локальной таблице символов хранится вся информация, относящаяся к локальной области действия программы, и доступ к ней в Python осуществляется с помощью locals()метода.

Локальная область видимости может находиться внутри функции, внутри класса и т. Д.

Рекомендуемая литература: пространство имен и область действия в Python

Синтаксис locals ()

Синтаксис locals()метода:

 местные жители ()

locals () Параметры

locals() метод не принимает никаких параметров.

Возвращаемое значение от locals ()

locals() метод обновляет и возвращает словарь, связанный с текущей локальной таблицей символов.

Пример 1. Как locals () работает в Python?

 locals()

Вывод

 ('In': ('', 'locals ()'), 'Out': (), '_': '', '__': '', '___': '', '__builtin__':, ' __builtins__ ':,' __name__ ':' __main__ ',' _dh ': (' / home / repl '),' _i ':' ',' _i1 ':' locals () ',' _ih ': (' ', 'locals ()'), '_ii': '', '_iii': '', '_oh': (), '_sh':, 'exit':, 'get_ipython':>, 'quit':) 

Примечание: globals() и locals()таблица символов для глобального окружения такая же.

Пример 2: Как locals () работает внутри локальной области?

 def localsNotPresent(): return locals() def localsPresent(): present = True return locals() print('localsNotPresent:', localsNotPresent()) print('localsPresent:', localsPresent())

Вывод

 localsNotPresent: () localsPresent: ('присутствует': True) 

Пример 3: Обновление значений словаря locals ()

 def localsPresent(): present = True print(present) locals()('present') = False; print(present) localsPresent()

Вывод

 Правда правда 

В отличие от globals()словаря, который отражает изменение реальной глобальной таблицы, locals()словарь не может изменять информацию внутри таблицы локальных переменных.

Интересные статьи...