Місцеві жителі Python ()

Метод local () оновлює та повертає словник поточної таблиці локальних символів.

Таблиця символів - це структура даних, що підтримується компілятором, яка містить всю необхідну інформацію про програму.

Сюди входять імена змінних, методи, класи тощо.

В основному існує два види таблиць символів.

  1. Глобальна таблиця символів
  2. Місцева таблиця символів

У глобальній таблиці символів зберігається вся інформація, що стосується глобальної області застосування, і доступ до неї здійснюється на Python за допомогою методу globals ().

Глобальна область дії містить усі функції, змінні, які не пов'язані з будь-яким класом чи функцією.

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

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

Рекомендована література: Простір імен та область застосування в Python

Синтаксис місцевих жителів ()

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

 місцеві жителі ()

local () Параметри

locals() метод не приймає жодних параметрів.

Повернене значення від місцевих жителів ()

locals() метод оновлює та повертає словник, пов'язаний з поточною локальною таблицею символів.

Приклад 1: Як місцеві жителі () працюють у Python?

 locals()

Вихідні дані

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

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

Приклад 2: Як місцеві жителі () працюють у локальній області?

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

Вихідні дані

 localNotPresent: () localPresent: ('present': True) 

Приклад 3: Оновлення значень словника local ()

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

Вихідні дані

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

На відміну від globals()словника, який відображає зміну фактичної глобальної таблиці, locals()словник може не змінити інформацію всередині таблиці місцевих жителів.

Цікаві статті...