English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Python

Управление потоком в Python

Функции в Python

Типы данных в Python

Файловые операции в Python

Объекты и классы в Python

Даты и время в Python

Продвинутые знания Python

Руководство по Python

Метод использования globals() в Python и примеры

Внутренние функции Python

Метод globals() возвращает все глобальные переменные в当前位置 в виде словаря.

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

Это включает имена переменных, методы, классы и т.д.

Символьные таблицы主要有 двумя видами.

  1. Локальная символическая таблица

  2. Глобальная символическая таблица

Локальный(Local)Символьная таблица хранит все информацию, связанную с местным диапазоном программы, и может быть использована в Pythonlocals()метод доступа.

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

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

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

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

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

Словарь globals() является словарем текущего модуля (внутри функции это модуль, который его определяет, а не модуль, который его вызывает).

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

globals()

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

Метод globals() не принимает هیچ параметров.

Возврат globals()

Метод globals() возвращает словарь глобальных переменных.

Пример 1: как работает метод globals() в Python?

globals()

При выполнении программы вывод будет следующим:

{'In': ['', 'globals()'],
 'Out': {},
 '_': '',
 '__': '',
 '___': '',
 '__builtin__': <модуль 'builtins' (внутренний)>,
 '__builtins__': <модуль 'builtins' (внутренний)>,
 '__name__': '__main__',
 '_dh': ['/home/repl'],
 '_i': '',
 '_i1': 'globals()',
 '_ih': ['', 'globals()'],
 '_ii': '',
 '_iii': '',
 '_oh': {},
 '_sh': <module 'IPython.core.shadowns' from '/usr/local/lib/python3.5/dist-packages/IPython/core/shadowns.py'>
 'exit': <IPython.core.autocall.ExitAutocall at 0x7fbc60ca6c50>,
 'get_ipython': <bound method InteractiveShell.get_ipython of <IPython.core.interactiveshell.InteractiveShell object at 0x7fbc6478ee48>>
 'quit': <IPython.core.autocall.ExitAutocall at 0x7fbc60ca6c50>}

Вывод показывает все глобальные переменные и другие символы текущей программы.

Пример 2: Изменение глобальной переменной с помощью global()

age = 23
globals()['age'] = 25
print('Возраст:', age)

При выполнении программы вывод будет следующим:

Возраст: 25

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

Доступ к возвращенному словарю по ключу переменной age и его изменение до 25.

Это снова отразится на глобальном символическом таблице.

Внутренние функции Python