все Python 3Встроенные функциипонятие
globals
пространства имён
Возвращает словарь глобального пространства имён текущего модуля.
Синтаксис
globals()
Это не копия, а живой словарь модуля: присваивание в него действительно создаёт глобальную переменную — в отличие от locals() внутри функции, где правки в общем случае никуда не доедут. Отсюда соблазн лепить имена переменных на лету, но почти всегда вместо этого нужен обычный словарь: сгенерированные имена не видит ни читатель, ни линтер. Внутри функции globals() отдаёт пространство имён модуля, где функция определена, а не того, кто её вызвал.
Примеры
x = 42
print('x' in globals()) # → True
print(globals()['x']) # → 42
globals()['new_var'] = 99
print(new_var) # → 99
print(type(globals())) # → dict
print('print' in dir(__builtins__)) # → True
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности