Метод Python globals — возвращает текущую глобальную таблицу символов в виде словаря. В начале разберемся с тем, что из себя представляет глобальная таблица символов?
Таблица символов — это данные поддерживаемые компилятором, в нем содержится вся необходимая информация о программе. В эти данные входят имена переменных, методов, классов и.т.д.
Различают два вида таблиц символов:
- Локальные символы
- Глобальные символы
В локальной таблице содержится вся информация, которая относится непосредственно к локальной области работы программы. Доступ осуществляется с помощью метода locals().
Аналогично локальной, в глобальной таблице находится вся информация, которая относится к глобальной части программы, а доступ осуществляется с помощью метода globals(). Как вы возможно уже догадались, в глобальной области хранятся все функции и переменные, которые никак не связаны ни с какими либо классами и функциями.
Параметры метода globals()
Метод globals() не принимает никаких значений, а возвращает лишь словарь из таблицы символов.
Как работает метод globals()?
Достаточно просто вызвать данную функцию, и она вернет нам таблицу символов в качестве словаря.
{'In': ['', 'globals()'],
'Out': {},
'_': '',
'__': '',
'___': '',
'__builtin__': <module 'builtins' (built-in)>,
'__builtins__': <module 'builtins' (built-in)>,
'__name__': '__main__',
'_dh': ['/home/repl'],
'_i': '',
'_i1': 'globals()',
'_ih': ['', 'globals()'],}
Результатом вызова, будет являться словарь, в котором отражаются все глобальные переменные и функции использующиеся в данной программе.
Пример 2. Как изменить глобальную переменную?
age = 23
globals()['age'] = 25
print('The age is:', age)
Как вы уже знаете, метод globals() возвращает таблицу в виде словаря. Что бы изменить значение глобальной переменной, в данном случае age, мы вызываем метод global() с ключом age. Таким образом, мы можем менять значение любых глобальных переменных или функций.