Python предлагает функцию globals()
для доступа к словарю всех глобальных переменных. Почему это функция, а не переменная? Следующие работы:
g = globals()
g["foo"] = "bar"
print foo # Works and outputs "bar"
В чем обоснование скрытия глобальных функций в функции? И лучше ли его вызывать только один раз и хранить ссылку где-нибудь, или я должен называть ее каждый раз, когда мне это нужно?
IMHO, это не дубликат Причина для globals() в Python?, потому что я не спрашиваю, почему существует globals()
, а скорее, почему он должен быть функцией (вместо переменной __globals__
).